Introduce the changes to track a Request.Version field, add tests in the json codec.
Change the MethodCaller function into a FindMethod function that takes a version parameter.

This should let us end up with it behind an interface, and give us both Serve and ServeFinder.
Change rpcreflect.MethodCaller to be an interface.
And reimplement the CustomCaller as CustomMethodFinder using that new interface.
found something with go vet
test suite is happy with a new MethodFinder implemenation.
I wasn't able to get 'InterfaceMethods' to work the way we want, because
they always fundamentally get unwrapped, but that is ok since it still
works better for us.
That is the last of the RPC changes that aren't the registry itself
Finish implementing a FacadeRegistry type and exposing it.

Rather than using utils/registry.TypedNameVersion because utils has been
moved anyway, and we only had one genuine user of it.
move over all of the API facades to the new structure, still needs thorough testing.
changing the name in the file, forgot to change it in the test.
we need to register the Networker worker

This gets the api/networker tests passing, which means all tests seem to be
ready.
add Discard and tests to FacadeRegistry
Change the GetFactory and GetType methods so that they don't intercept IsNotFound, we'll trap that higher
We don't need the helper functions since the registry is typed now.
handle when FindMethod wants an API we don't have
Merge branch 'api-versioning-2-facade-registry' into api-versioning-3-use-registry

Bring in the updated view for FindMethod including caching, etc.
missed a couple of things we needed for resolving the merge
Merge branch 'master' into api-versioning

Bring code up to trunk, resolve any conflicts.
Merge branch 'api-versioning' into api-versioning-2-facade-registry

Changes to how upgrade tag is handled interacted with changing how
Upgrader is instantiated.
Merge from api-versioning-2 to bring in master and resolve conflicts.

Mostly this just involves the changes to names which changed how Upgrader selected what
concrete instance to return.
Merge branch 'api-versioning' into api-versioning-2-facade-registry

Changes to how upgrade tag is handled interacted with changing how
Upgrader is instantiated.