Some world saving and session management fixes:
- Changed .save() to be synchronous and use async saving for autosave.
- Save the IP address on session creation in case it gets closed later.
- Don't create a player if the session has closed during the login check.
Various network and usability fixes:
- Placing items with data (logs, wool) no longer removes the data.
- Trying to send messages in Handshake now uses same error as other protocols.
- Write timeout pings are only sent in Play.
- Closed channel and broken pipe errors are quieter.
- Log rotation happens before a record is shown and logs aren't colorized.
Added extra isActive() during establishment check, improved log rotation.
Various minor cleanup and fixes to eyeHeight and channel events.
Improved the Readme with more extensive information and better credits.
Fixed arm swing animation and not being able to fly if Creative is default.
Fixes to DiggingHandler's event firing and reverting on cancel.
Queue UpdateSignMessages until after block changes, fixing things like copy/pasting and being denied sign destruction.
Added warning for turning off online-mode (fixes #93).
Fixed sound message encoding and added simple block place sound (see #99).
Removed org.bouncycastle libraries to reduce filesize significantly.
Fixed NPE trying to tab-complete nonexistent commands.
Cleaned up world-change/respawn logic and fixed respawning (fixes #102).
Suppressed warnings in TagType to placate javac.
Set item tables's hash map initial capacity to 512 to speed registration.
Made todo comments more uniform.
Use EventFactory in StatusRequestHandler, minor EventFactory cleanup.
Call weather and thunder change events.
Added /tellraw command (closes #124).
Changed offline-mode UUID to match Vanilla.