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.
Currently, yes. This is because we don't know how to add constraints unless there is a filter method. We should probably change this to live on a Filterable interface in the SPI that can be implemented to get the constraints passed in.