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.