Update the TestCaseUtils.clearJEBackend() method to use a different approach.
Instead of closing the environment, deleting the files, and re-opening the
environment, we are keeping the environment open and just truncating the
databases. This dramatically reduces the amount of memory required to run the
unit tests, apparently as a result of a memory leak in the Berkeley DB JE when
the environment is repeatedly opened and closed.
Note that the latest release of Berkeley DB JE (3.2.44, which we aren't yet
using) claims to have a fix for a similar problem (JE issue #15444 as described
in http://forums.oracle.com/forums/thread.jspa?messageID=1782659) but testing
with that JE version didn't appear to resolve the problem so it is likely that
the issue still exists. However, while it was causing a significant problem in
our test cases, it is unlikely to cause problems in production environments
because the JE environment should not be repeatedly opened and closed in the
same JVM instance.