Memory limited job runner

This is another component needed for the new splitfile code (db4o purge).
If it returns true then the MemoryLimitedJobRunner will release(). If it doesn't then the job will asynchronously call release().