Allow specification of a root key on get*

This allows access to keys such as /admin/machines which are not under
the /keys path by specify the :root-key option, e.g.
(get* connection "/machines" {:root-key "admin"}).

Note that this changes the signature of key-url, so adds an overload
to preserve the previous signature of the function.
Add url function

The key-url function forwards to the new general url function.
Remove :root-key from query-params
Fix url doc string
Split up encode-key

Factors encode-key into encode-key-seq and normalise-key.

Note the one test change.

This probably requires additional tests for encode-key-seq.

It might also require deprecation metadata for key-url and encode-key.
Merge pull request #2 from hugoduncan/feature/add-root-key

Allow specification of a root key on get*