Ship/faction attributes

- CommsRecipientType: Checks for the ENEMY attribute on the Vessel's
Faction to figure out whether an ArtemisNpc is ENEMY or OTHER.
- ArtemisNpc now checks to see if a vessel has the ELETE attribute, and
ignores eliteBits and eliteStateBits if not.
HullID refactor (bases now have Vessel entries)

The hullID has been promoted from BaseArtemisShip to
BaseArtemisShielded, and made part of the ArtemisShielded interface.
BasePacket now reads this value for bases, and ArtemisBase passes it to
its superconstructor. This means that we can now determine the Vessel
that corresponds to an ArtemisBase.