attitude autopilot v2
change killRot keybind to 'p'
Apply the num factor when applying equipment capabilities

(Closes #3035)
(Closes #3020)
fix bugs in EquipSet:Count
fix incorrect counts in EquipSet:Add/Remove
fix iteration loop in EquipSet:Get

fixes #3039
fixes #3040
fix inconsistent parameter name in Ship:SetEquip
amend EquipSet:Set so it can remove items, and fix various bugs
update Ship:FireMissileAt to use new equipment methods and fix bugs

fixes #3038
fix InfoView/EconTrade view 'refuel full' button

fixes #3046
fix Player::Load to register its EquipSet change listener

This is necessary because the Ship's EquipSet object is replaced on Load
with a deserialised object from the Ship's propery map.
fix EquipSet:Set so it updates all equipment stats as it should
Merge branch 'equipment-fixes'
remove Ship::UpdateStats, because it only calls UpdateEquipStats anyway

It might need to be re-introduced in the future to call some combination
of UpdateEquipStats, UpdateLuaStats and UpdateFuelStats, but for now it's
better to call UpdateEquipStats directly to avoid confusion.
init stats in Ship::Load, and don't override loaded mass_cap

fixes #3049
mark Player::SetShipType as virtual/override (explicit is good)
add EquipSet:Clear and use it in Ship::SetShipType

fixes #3027
check for cargoscoop when colliding with cargo
add cargo scoop message if hold is full
update Ship Market to refer to new equipment hyperdrive