Calling dispose on an assets will now automatically unregister it.

This patch makes all assets that extend from AbstractAsset
automatically unregister themself at the asset manager when they get
disposed.

This prevents module developers from causing memory leaks
when they only call dispose on the asset.
Don't let GLSL materials and shaders dispose themselfs completly at reload.
Make AbstractAsset implement isDisposed() so that it works always properly.
Create new NullPreftabs to ensure that they are not disposed.
Don't load data for disposed assets, log an error if it is tried.
Make the onDispose and onReload methods protected as they should not be called.
Warn about dispose calls in onReload and fix an issue the warning discovered.
Simplified some AsssetManager code.
Ensure that assets only get disposed once.
API to generate meshes from code
API to animate meshes from code
tweaks and fixes
more tweaks and fixes and some doc
minor changes to include code review hints
Use a more recent version of FindBugs that is compatible with Java 8.
Merge PR #1264 by @shartte - findbugs version update for Java 8 compatibility
Added a per-block concept of biome that is stored within the chunk data.
Added an UpdateBiome concept to send biome updates (just like block updates) to network clients after the whole chunk has been transferred.
Introduced a BiomeRegistry and Biome interface in the engine module and reworked the ChunkTessellator to use humidity/temperature associated with the block's biome. Future work: Directly specify foliage color in the biome and use that for coloring leaves.
Biome id mappings should now be saved correctly with the world save (and loaded).
Plant systems now use the biome temperature/humidity for deciding whether to grow (change to LocalParameters), due to the high performance impact of perlin noise.
Added biome id mapping synchronisation to the network protocol.
Refactored several interfaces to remove access to world generation in non-authoritative mode and removed the RemoteWorldGenerator since it's no longer needed.
Block color offsets are now exclusively calculated from the biome, with the ability to specify different block color sources that use other means than humidity/temperature to calculate a color offset from a biome.