Adds support for variantSets

This PR adds support for the  `variantsets/search` method to the client and server applications. This also passes the compliance tests (once ga4gh/compliance#10 has been merged) for the `variants/search` method. This should provide a usable platform to develop clients against.

Also:
- removes the `GAKeyValue` type and instead uses a simple dictionary, since this corresponds directly to the desired JSON semantics. See ga4gh/schemas#141 for further discussion on this.
- changes the paging mechanism from `maxResults` to `pageSize`, implementing the change in ga4gh/schemas#123.