Merge branch 'release/2.5.1' into develop
[DSI Releaser] prepare for next development iteration
Cleaning commented-out code, minor polishing
[jvstm-ojb] Allow multiple class ids to map to the same class
New Feature: Added Deletion Listeners

  * This will allow modules to be notified whenever
    an object is being deleted
[jvstm-ojb] Improved VersionNotAvailableException

  * Added exception causes and cleared
    Throwable.printStackTrace() usages
[jvstm-ojb] Removing deprecated resources

  * Removing executions of un-necessary deprecated mojos
[jvstm-ojb] Don't wrap unchecked exceptions on CallableWithoutException
[jvstm-ojb] Directly invoke _Base getters on checkDisconnected

  * This solves some issues when domain getters are overridden
[core] Replaced canBeDeleted with getDeletionBlockers
[core] Properly documented deletion blockers
[core] Added support for Optional Dependencies

  * These behave just like maven dependencies, as they are used for the project
    when it's being compiled, but are not propagated to the 'project.properties'
  * Updated the Maven Plugin to properly mark optional dependencies
Configure the maven-jar-plugin to add default Manifest entries
[dml] Rename DeletionAdapter to DeletionBlockerListener

  * Slightly adjusted the deletion blockers API
Minor logger adjustments
[dml] DeletionBlockers are properly Collection-oriented
[dml] Added tests for DeletionBlockers
[jvstm-ojb] Return null on syntactically invalid external ids
[jvstm-ojb] Minor Change: Cache DomainRoot instance
[core-api] Added DeletionListener tests