fix base defense error

and clean up defenses when we're done.
comments
fix typo and add exception
audible feedback for unload
Map Scripting.

hoo boy, this is a big one... i should probably split it up, but who cares?
at some point i'll need to write a big ass help doc/faq to go with this
to explain each command and how each variable interacts with it.
but in the meantime, i hope i've included enough examples and error messages
for common failure scenarios for the more adventurous of you to figure out
how it all goes together, and yes, this is fully capable of perfectly
replicating all of the TFTD map types, i've already got their scripts
assembled in the ruleset on my end.
i have plans to expand on this a little in the future,
like allowing certain commands to store their x/y values for use by others,
and allowing for multiple UFOs on a map, but this should do for now.

special thanks to Volutar for his help in getting this together.
Merge remote-tracking branch 'upstream/master' into 32bit_Surface_Support