Changed weather to only happen in normal world and handle case where no chunks are loaded (see #94).
Changed world init sequence to match CraftBukkit more closely.
Switched to Diamond Operator (for #83).
Switched to diamond operator in a few missed places (closes #83).
Cleanup to world storage system, minor ItemMeta/Entity storage fixes.
Experimental mitigation for #92.
Basic chest inventory and I/O support (no double chests or facing directions).
Update to Bukkit for 1.7.9
Some fixups to RegionFile to fix wildly incorrect structure on Linux. Chunks still sometimes broken.
Some reorganization and minor fixes to world I/O in preparation for big fixes.
Various world fixes:
- Changed createTileEntity to not take GlowBlock to save having to create one
  for every block loaded.
- Changed MultiBlockChangeMessage to not require conversion to an array.
- Changed tile entity loading to not create GlowBlock objects.
- Made RegionFile not flush on every chunk write.
- Changed getChunk() logic to not always create new GlowChunk objects.
Reduced extraneous chunk sends on login, and some minor fixes:
- Ignore movement packets with more than 16-block distance.
- Removed GlowBlock caching and WeakValueMap in favor of simplicity.
- Changed ChunkManager to not create new HashSets all the time.
- Stopped double-sending a player their own user list info.
- Added toString() methods to PlayerUpdateMessage and children.
Rearranged createExplosion variants and added a few ItemPlaceAs entries.
A couple of bugfixes to block placement:
- Fixed an NPE in BlockPlacementHandler if client tries to place against air.
- Fixed GlowChunk not correctly creating new ChunkSections.
Added NibbleArray for storing metadata, light, and skylight. Reduces memory impact of loaded chunks significantly.