macaroons: allow external validators to be registered
macaroons: allow external validators to be registered

When external subservers register themselves to be served through the
same gRPC interface as the main lnd RPC, their requests are also
intercepted by the main lnd macaroon interceptor.
If the external subservers want to use their own macaroons that are
independent of lnd's, they need a way to overwrite the default validator
of the macaroon interceptor. We add this mechanism with the concept of
external validators.

aakselrod/lnd,LightningNetwork/lnd,aakselrod/lnd,LightningNetwork/lnd