Add map scripting support

This adds support for map scripting. I will be introducing additional functionality along with a couple of missions written in Lua and an abstract Lua OpenRA interface for shared code after this PR. We can close #2067 then. Our Missions namespace will slowly go away as I move more things over to Lua.

This uses a custom version of lua51 from monoboxedlua with sensitive functionality disabled, so we shouldn't ship unmodified versions of Lua as-is. I have also modified LuaInterface so it can work with OpenRA. That's why it's included in the sln.

The Lua error handling is pretty barebones, but it does show script syntax errors etc and halt. You can still crash the game from Lua though. We will want to move error stuff to an actual panel later when we also get better error recovery features from desyncs and such.

Lua script files currently don't count towards map hashes. We can add this and also increment the MapFormat when we add some other features like additional map rules files outside of map.yaml.

Packaging script changes need testing/review, especially the Windows installer and dependency stuff. I'm not totally happy with the changes myself.