Create pluggable backend

git-svn-id: https://svn.forgerock.org/opendj/trunk@11402 41b1ffd8-f28e-4786-ab96-9950f0a78031
Minor cleanup

* rename PocBackend -> AbstractBackend
* make AbstractBackend abstract
* add TreeName.getNames().


git-svn-id: https://svn.forgerock.org/opendj/trunk@11403 41b1ffd8-f28e-4786-ab96-9950f0a78031
Add toString(), equals(), and hashCode() for TreeName.


git-svn-id: https://svn.forgerock.org/opendj/trunk@11404 41b1ffd8-f28e-4786-ab96-9950f0a78031
More minor fixes:

* improve TreeName.toString() so it can be used as database names
* add exception handling support when performing transactions.


git-svn-id: https://svn.forgerock.org/opendj/trunk@11405 41b1ffd8-f28e-4786-ab96-9950f0a78031
Initial prototype MapDB based memory backend using new AbstractBackend framework.

git-svn-id: https://svn.forgerock.org/opendj/trunk@11406 41b1ffd8-f28e-4786-ab96-9950f0a78031