Removed OOMHandler and OOMHook, together with all usages.

The OOMHandler basically called System.gc() in response to an OOM. But the JVM
obviously will already have tried a GC before throwing the OOM in first place,
doing so again can not be expected to have much use.

Also, from the Javadocs: "An Error is a subclass of Throwable that indicates
serious problems that a reasonable application should not try to catch."