DATAJPA-523 - Make Specification implement Serializable.

Specification now implements Serializable to be able to transfer Specifications across systems boundaries. 

Note that currently only Hibernate and EclipseLink expression structures implement Serializable - OpenJPA's don't.

Please do not merge - this should serve as a base for discussion.