Implement DBCleaner
Merge remote-tracking branch 'upstream/master' into refactor-tests

Conflicts:
	cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java
[CAY-1969] Malformed EJBQL Yields NPE
fix DBCleaner for Derby
improve DBCleaner without filtering
improve DBCleaner with filtering
fix procedure names
CAY-1970 Minor Improvements to EJBQL Coverage in "Cayenne Guide"
CAY-1959 Chainable API for SelectQuery

* changing 'exp' to 'where' per discusion on dev
CAY-1959 ObjectSelect query - a fluent API alternative to SelectQuery

* renamed the jira to draw attention to the new ObjectSelect query
CAY-1971 Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..)

unit tests for existing methods
CAY-1971 Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..)
CAY-1971 Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..)

* implementing escaping
re-categorizing Test vs IT

* some test cases were misplaced
* some no longer require "_InContext" qualifier in the name
CAY-1971 Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..)

* integration tests
CAY-1971 Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..)
javadocs
cleanup, no change
CAY-1972 A property to override DataSources of multi-module projects
fixing some PMD warnings