Separated out Snap-only method

Now has a Snap-only method `withAuthDomain` to support cases where the Snap app is not using Handlers or an App to store state, as per gcollins' recommendation. Also defined tests against a simple app that implements it.
Can we have a sensible message which explains the error condition? Something like "you must be authenticated to access this resource"