Big refactor to prepare for Artemis 2.1.1 update

Fixes #34, fixes #35, fixes #36, fixes #37
Connection event tweaks

ConnectionFailureEvent removed (ThreadedArtemisNetworkInterface
constructor blocks and throws exception directly); fixed synchronization
issues with ListenerRegistry; remote disconnects correctly detected;
some debug code ripped out
Create .travis.yml

Created Travis CI configuration file
Future-proofing WelcomePacket

WelcomePacket now stores welcome message, and will include it as
received if re-transmitted
DifficultyPacket update

Corrected type value, added GameType, fixed difficulty property not
getting set
Don't ignore terminators on object list packets

The object list packets include a terminator 0x00 int at the end of the
list that wasn't getting read; this caused ArtClientLib to complain that
the packets weren't completely read
Added PausePacket
Added data console as possible client
Some documentation fixes
ThreadedArtemisNetworkInterface improvements

Queue is thread-safe; fixed problem with server-to-client packets not
getting taken from queue; some cleanup (be careful not to send packets
to the server before WelcomePacket is received)
Added DmxMessagePacket and GameMasterMessagePacket
Fixes for WeapPlayerUpdatePacket

No longer complains about not reading the whole packet; writes the
terminator 0x00, appendPacketDetail() prints English description of tube
contents
ShipType updates

Added friendly and enemy bases from Artemis 2.1, friendly bases are now
civilian (not TSN), Factions now have an Allegiance (PLAYER, FRIENDLY,
ENEMY)
Remove PairingPolicy enum

Accidentally left over from removing pairing stuff
Fixed incorrect Version handling
PacketWriter fixes

Renamed write() to writeTo(); PacketWriter doesn't assume CLIENT packet
types (How long has THAT been there?!?)
Unit testing infrastructure

Also includes tests for WelcomePacket and VersionPacket
Don't commit the build directory
Build script
Fixed JDK 1.6 incompatibility