DS-2080 Cleanup bad/broken tests, and upgrade to latest JUnit and JMockit, also fixes DS-2086

Related to https://jira.duraspace.org/browse/DS-2080

** UPDATE: COMPLETE! All Unit Tests succeed, and the bug related to DS-2086 is now resolved (see below) **

This Pull Request does the following:

- [x] Upgrade us to the latest JUnit (v4.11), JMockit (v1.10) and H2 database (v1.4.180).
- [x] Refactor `MockDatabaseManager` to no longer be an almost *complete* copy of `DatabaseManager`. Instead, only "mock" the methods we absolutely need to.
- [x] Fix many Unit Tests to use the latest JMockit syntax (esp. when using `NonStrictExpectations`)
- [x] Fix/cleanup Unit Tests which are broken or not independent (e.g. We have several "delete" tests which attempt to delete an object that is assumed to have been created by a different test. Unfortunately, if these tests run in the wrong order, failures will result as it will attempt to delete an item which does not exist.)
- [x] REMOVE old, outdated H2-specific `database_schema.sql`. We aren't keeping it up to date, and I've now modified our MockDatabaseManager to let H2 use the *ORACLE* `database_schema.sql` file directly. See this commit: https://github.com/tdonohue/DSpace/commit/d1e48ca692572ae10958cac3c7481da8efef7d64
- [x] Fix discovered bugs in our API (see below)

As a side-effect of this process, I've discovered a test which currently *FAILS* because of bugs in the code. Somehow this failure was being hidden (likely cause of improper tests or an unmaintained H2 database schema).
* ~~`CommunityTest.testDeleteHierarchyAuth()`~~ (FIXED BY THIS COMMIT: https://github.com/tdonohue/DSpace/commit/0aa39100a95b91089f5808a33ecaba41cca1aa0f)  - This is a new test I wrote to ensure an entire sub-hierarchy is deleted whenever a parent Community is deleted. Unfortunately it currently fails with a "Referential integrity constraint violation" which seems to be this bug: https://jira.duraspace.org/browse/DS-2086