The bulk of the library support.

This change adds support for:
. routing of uri paths to methods using the uri package
. resolving ambiguous paths, ie. detects if there are  ambiguous method paths at startup
. makes the name annotation in ApiClass and ApiMethod annotations optional
. implements the api for getting the discovery doc
. changed most config classes' fields to final (using factory constructor)
. changed the supported method parameters to be
  response method(pathParams, queryParams) for GET
  response method(pathParams, requestParam) for POST
.. with the caveat that the queryParams are not yet supported since the uri package doesn't support expresions for the value in a query string.
. added various tests, mostly for the ambiguous path support

I left out the ApiResource support to make the change a little smaller.
Wrt. to changing the API I would prefer to do that together with the samples using the library.

R=kustermann@google.com, sgjesse@google.com
BUG=

Review URL: https://codereview.chromium.org/811023002