campaigns: implement licence checks
Created by: LawnGnome
This PR implements the newer licensing behaviour discussed at sprint planning: campaigns may be used without a licence for campaigns with no more than five changesets, but attempting to create a campaign spec with more than that results in an error.
Closes #15715.