map password field Enter/ESC to buttons

closes #4869
Add Actor.RepairBuilding
Make Production.SetRallyPoint and .SetPrimaryBuilding more robust
Allow for incremental team assembly
Actor.Patrol*: make sure that the actor is still alive
Add Production.BuildTeamFromTemplate

Production.BuildTeamFromTemplate allows the production of teams from a
list of
actor types, assigning a function to that team once it is complete.

A 'template' in this case looks like this:
template = { {factory, {list of units to build using aforementioned factory}} }
e.g. template = { {barracks, {"e1", "e1", "e1", "e3", "e3"}} }

You can also build teams using multiple factories like this:
template = { {barracks, {"e3", "e3", "e3"}}, {war_factory, {"3tnk", "3tnk"}} }

Before using Production.BTFT you need to call
Production.EventHandlers.Setup once.
Isolate gameplay map state from the map cache. Fixes #4937.
Merge pull request #4938 from pchote/map-derp

Isolate gameplay map state from the map cache.
Divide the shroud selector into groups.
Chronotank teleporation by holding SHIFT or ALT and issuing a move order
Add flags and player colours to the observer selector.
Merge pull request #4918 from cjshmyr/ctnk

Chronotank group teleportation with hotkey, closes #2500
Merge pull request #4854 from obrakmann/lua

More Lua updates
Add LogicKeyListenerWidget for binding keys to UI logic.
Move control group logic into its own logic class.
Hook up observer view keybindings. Fixes #4435.

Uses 0-9 to select view (plus shift to cycle backwards), '-' for                 combined shroud and '=' for world view.
Update changelog.
Merge pull request #4942 from pchote/more-replays

Overhaul observer shroud selector.
Show player and spawn details in the replay browser.
Merge pull request #4948 from pchote/replay-browser

Show player and spawn details in the replay browser.
closes #4879