CommsTarget => CommsRecipient

CommsTargetType is now CommsRecipientType, and
CommsMessage.getTargetType() is now .getRecipientType(). This is to
avoid confusion between the recipient of the message and the target of
the "Go Defend" message.
Fixed PacketReader problem with UnknownPackets

When reading an UnknownPacket, the PacketReader will now move the
pointer to the end of the packet, so that hasMore() returns the correct
value.
AudioCommandPacket now exposes properties

You can now get the audioId and command from the AudioCommandPacket.
EngSetEnergyPacket fix

EngSetEnergyPacket now correctly sets its properties when constructed;
getSystem() and getAllocation() method exposed
More packet unit tests

AudioCommandPacket, CommsIncomingPacket, CommsOutgoingPacket,
IncomingAudioPacket, ToggleRedAlertPacket, EngSetEnergyPacket
ArtemisNebula broken off from ArtemisGenericObject

ArtemisNebula and NebulaUpdatePacket broken off from
ArtemisGenericObject and GenericObjectUpdatePacket
Fixed EngPlayerUpdatePacket issues

Fixed misplaced byte field read that made it read heat values
incorrectly
Fix for EngSetEnergyPacket

Incorrect subtype fixed, replaced some hard-coded 300 values with a
constant
Vessel.getFaction() convenience method
Fixed write problem with BeamFiredPacket
Fixed EngSetEnergyPacket subtype in test file
Merge pull request #41 from rjwut/2.4.2

* `ArtemisNebula` and `NebulaUpdatePacket` broken off from `ArtemisGenericObject` and `GenericObjectUpdatePacket`. `ArtemisNebula` now exposes the color of the nebula.
* `CommsTargetType` is now `CommsRecipientType`, and `CommsMessage.getTargetType()` is now `.getRecipientType()`. This is to avoid confusion between the recipient of the message and the target of the "Go Defend" message.
* `EngPlayerUpdatePacket` now produces correct heat values.
* `EngSetEnergyPacket` now correctly sets its properties when constructed; `getSystem()` and `getAllocation()` methods exposed, fixed incorrect subtype.
* You can now get the audio ID and command from the `AudioCommandPacket`.
* The `Vessel` class now has a `getFaction()` convenience method.
* When reading an `UnknownPacket`, the `PacketReader` will now move the pointer to the end of the packet, so that `hasMore()` will correctly return `false`.
* Fixed a problem with writing the `BeamFiredPacket`.
* `AudioCommandPacket`, `CommsIncomingPacket`, `CommsOutgoingPacket`, `IncomingAudioPacket`, `ToggleRedAlertPacket` and `EngSetEnergyPacket` now have unit tests.