DATAREST-401 - Updated changelog.
DATAREST-160 - Added support for ETag/If-Match based on entity's version property.

Original pull request: #148.
DATAREST-160 - Polished support for ETag headers based on version properties.

Introduced a dedicated value object for ETags and moved the logic of ETagValidator into it. Switched from an annotation based injection model to a type based one.

The HTTP status code for a non-matching ETag is now 412 Precondition failed as the HTTP specification suggests.

Original pull request: #148.
DATAREST-418 - Updated changelog.
DATAREST-418 - Prepare 2.3.0.M1 (Fowler M1).
DATAREST-418 - Release version 2.3.0.M1.
DATAREST-418 - Prepare next development iteration.
DATAREST-418 - After release cleanups.
DATAREST-394, DATAREST-408 - Projections now consider collections and maps.

The ProjectingMethodInterceptor now inspects collections and maps to apply projections to collection elements and map values. Test cases inspired by a contribution of Saulo Medeiros de Araujo.

Related pull request: #152.
DATAREST-387 - Add tests for SD-Solr Repositories.

Prepare issue branch.
DATAREST-387 - Add test for SD-Solr Repositories.

Added configuration for setting up an EmbeddedSolrServer instance within a temporary directory.

We use a temporary test folder created by JUnit where we copy the required configuration to. The directory will also hold all index data and will be deleted afterwards.
DATAREST-387 - Add test for SD-Solr Repositories.

- Added id constraint to schema.xml to support deleting documents by referencing id.
- Added JONSArray support for comparing jsonPaths.
- Added tests for pagination, get, create and delete.
DATAREST-387: Rebased to new test structures
DATAREST-387: Attempt to clean up Solr indexes
DATAREST-387: Fix the test case's temp folders
DATAREST-387: Put branch snapshot version back in