Prevent Unbounded IntCache Growth

Based on work by Peter Lawrey, this commit prevents unbounded growth of the integer cache and instead caps it to a value specified in the configuration (1024 by default). Should prevent thrashing, especially around world generation.
Shave nearly 2mb off jar size by not embedding our copy of trove since Minecraft now includes it.
Upstream merge, lots of conflicts
Partial upstream merge.

Still need to validate how some changes interact with our own.