state/apiserver/common: AuthFunc takes a names.Tag

This enormous and long lived branch changes `common.AuthFunc` from taking a string, representing a Tag, to a tag itself.

Also included is a change to `state.FindEntity` to also take a `names.Tag` which was necessary to avoid calling `.String()` on every hard won tag.