Fix RouteElement leaks

Also fixes style issues.
Probably fixes the disabled cache, but I haven't tested.
Fix death sequence broken in 848e59ce
Reorganise shipdata.plist to make future interactions with shipsets easier. (Closes #37)
Fix under-retention (related to 5636606)
More JS equivalents for AI commands and messages

methods
ship.requestHelpFromGroup() <= groupAttackTarget
ship.markTargetForFines()
ship.perform...(): Attack, Collect, Escort, FaceDestination, Flee, FlyToRangeFromDestination, Hold, Idle, Intercept, LandOnPlanet, Mining, ScriptedAI, ScriptedAttackAI, Stop, Tumble

and event
this.helpRequestReceived(ally,enemy) <= GROUP_ATTACK_TARGET
New shipscript event (issue #35)

shipAIFrustrated(context) matches AI "FRUSTRATED"
ship.broadcastDistressMessage() and ship event this.shipNowFacingDestination
Remove performBroadside AI command.

(Only really useful for testing anyway, never been in a stable release)
Merge branch 'maintenance/1.77'

Conflicts:
	src/Core/Entities/ShipEntityAI.m
Hostility indicator no longer depends on weapon range of enemy ship.

Prevents flickering when ship has weapons of different ranges.
Primable equipment dial for HUD

Hidden while docked (primable equipment unusuable) or if no primable equipment is installed
Integer precision issues and cleanup
Cleanup: don't need to -weakSelf objects for OOWeakSet

Relates to 5636606
Warning fix
Fix several leaks of weakRefs
Fix under-retention (related to 0a484bb)
Cleanup: don't need to -weakSelf objects for OOWeakSet

Relates to 0a484bb
Merge branch 'maintenance/1.77'
Update Mac nighly script to build from Git
Fix Mac nightly script to gen changelogs