Add support for mission objectives
Move trigger lists into a dictionary for easier access and enumeration
Add mission objectives to Lua interface
Make CheckboxWidget honour GetText()
Add a mission objectives GUI panel

Also fixes #4978.
Make scripted maps at least partially objective-aware
Make *VictoryConditions use objectives backend.