CDK-501: Add view URIs

This adds view URIs using the syntax suggested on the CDK-501 page. Both Range and Set (In) predicates are handled specially. Other predicates should now implement RegisteredPredicate and register with that class. The tests have a good example of registering a predicate. Non-primitive values are base64 encoded, and string representations are URL-safe.

This could still use some additional testing on the View to URI and URI to View translation.
This isn't a method used by serialization, it's for user interaction so I thought it would be better to keep the "inf".