internal/v4: macaroon-based authorization

We configure a known third party discharge service
and issue macaroons requiring that the user be
authenticated before an access request is granted.

In this PR we use this authorisation only for the existing
authorized endpoints, and do not try to be sophisticated
in what caveats we add.

ServiceParams struct maybe? We're changing this API whenever something new is introduced to CS, which results in lots of changes in the code.