Biome dictionary refactor

Redesigned BiomeDictionary to increase performance, reduce memory usage and fix bugs:

- Memory footprint reduced: Rather than an array of 256 private classes containing a List of pointers to enum values, implementation now uses a multimap containing EnumSets (implemented with bit fields). Quantity of EnumSets is reduced using sparse map rather than full 256 array.
- Performance is increased because EnumSet lookups are binary masks instead of array indexes
- isBiomeRegistered() always returned true because valid BiomeGenBase objects are always indexed in BiomegenBase.biomeList (see BiomegenBase constructor). This bug prevented best guess auto tagging of custom biomes because auto tagger (checkRegistration()) would not run if isBiomeRegistered() returned true--which it always did.

Public interface is maintained with additional support added for modern java collections. Array based and variable argument methods are deprecated.