DATAREST-226 - After release cleanups.

Upgraded to Spring Data snapshot dependencies. Added missing changelog entries.
DATAREST-50 - Added test case demonstrating this issue no longer exists.

Properties with null values properly get rendered in JSON outputs. This was fixed some time ago. Added test case to prove it.

Original pull request: #132.
DATAREST-246 - ValidatingRepositoryEntityListener now uses ObjectFactory<Repository>.

ValidatingRepositoryEntityListener previous referred to a Repositories instance which causes a circular reference on initialization after some changes in Spring Data Commons Repositories.

Major cleanups in the ValidatingRepositoryEntityListener implementation.
DATAREST-228 - Added Maven Enforcer plugin to ensure project is built with Java 7.

Original pull request: #131.
DATAREST-216 - CrudRepositoryInvoker considers redeclared methods correctly.

CrudRepositoryInvoker now detects re-declared CRUD methods and falls back to reflection invocation if the re-declaration is detected.

Inspired by PR #126 by Nick Weedon but avoiding the introduction of a dependency to Spring Security by using a more precise testing approach.

Original pull request: #126.
DATAREST-238 - Changed JSON deserializer to ignore links.

Links are a read-only and basically have to be ignored during any inputs. This required removing the deserializer from PersistentEntityJackson2Module. This will cause the object mapping to fail as it doesn't know about the links property in the request body. Instead of requiring that every entity apply the necessary annotation, the mapper is configured to not fail on non-existent attributes. This allowed all the tests to pass while properly handling PUT operations.

Original pull request: #130.
DATAREST-95: Add support for PATCH'ing entities

Using @ArloL's solution, wrote a more up-to-date version
of PATCH. Included a test case to create a Person then patch one attribute.
DATAREST-95: Replace boolean flag with enum that clearly marks when nulls are applied

The boolean flag felt clumsy, because I wasn't sure which position true and false mapped to.
So I replaced it with an enum, and now anytime you look at the code, the values clearly denote
whether or not to apply nulls or ignore them.