The beginnings of a JPA datasync system. Everything is subject to change!
Added test for conflicting update response
Added test for pushing non-conflicting update

I had to change the date field in the entity to be of type Timestamp, because
java.util.Date.equals(java.util.Timestamp) is always false, and this was tricking
the state comparator.
Added more scenarios to cold sync requests and responses
Added ability to delete pre-existing entities in sync request
Added support for annotation-based global entity listener (gets all JPA lifecycle events for all entity types)
Refactored ErraiEntityManager and its generator to make it easier to create multiple instances.

Unfortunately, this caused me to introduce two new factory interfaces. Sorry about that. :-/

The motivation for this change is that I want to keep a second ErraiEntityManager around for
tracking the state we believe the server has for each entity reachable from a SyncableDataSet.