CDK-316: Converted Constraints to implement Serializable and added logic...

... for serializing its predicates.  Also added tests to verify the serialization.