CDK-472: Add Datasets.URIBuilder

Adds an API for programatic building of Dataset/View URIs.

URIPattern implementation uses LinkedHashMap to preserve order of
options such that pattern.construct() will produce query params in a
predictable order.
CDK-472: Move URIBuilder to spi
CDK-472: JavaDoc and fomatting corrections

* Improved JavaDoc based on comments in https://github.com/kite-sdk/kite/pull/105
* Removed unnecessary whitespace changes in Datasets.java