Changing Lua->C++ API calls to use tables instead of regular parameter lists.

Prior to this change, it would have been somewhat difficult to understand the EDEn API, as the ordering of parameters (particularly non-obvious optional parameters like "waitForFinish") is not always obvious. This change enforces the use of Lua tables to hold all the arguments to EDEn API functions. The result is that parameters can now be named, thus making API calls more clear.

All the Lua scripts were updated to use this new convention. In all cases, this meant replacing method call parentheses with curly braces (i.e. say('dialogue text') becomes say{'dialogue text'}). In some cases where I felt it helped readability, I've used named parameters.

ScriptUtilities is a new static class added specifically to help parse the parameter table sent to the EDEn API and extract named or unnamed parameters using either a numeric or string index.

All the existing Lua bindings have been updated to use this format instead of checking for the number of arguments and enforcing assumptions about what parameter is at what part of the argument list.

As a plus, this also allowed for much easier addition of much-needed error case handling in the Lua-bound functions. When a required parameter is missing, we now throw an error to Lua instead of just silently failing.

Next on my list, I would like to review the ScriptUtilities and develop a really simple way to create meaningful error messages for the situations where parameters are missing. These messages can certainly be automatically generated instead of being hardcoded.
Small documentation updates

Adding some documentation that was missing in the code, and renaming
some parameters for clarity.
Updating copyright tags to 2013