CDK-316: Converted Constraints to implement Serializable and added logic for serializing its predicates.  Also added tests to verify the serialization.