Space-separated a comma-separated list

For neatness and consistency with my current code style.
Made outputType an argument to relevant functions

calculateNote and newPlayer now take outputType as their second
argument.
Part of changes to make the module more conforming to kikito's Lua
module authoring guide.
(http://kiki.to/blog/2014/03/30/a-guide-to-authoring-lua-modules/)
Removed colon function definitions
Overhauled the interpreter

The character-by-character iterator was replaced with a pattern that
matches an MML note or command. Since that pattern relies on there being
another note or command after the current one, there is a special case
for the last note. If I can figure out a pattern that will work there, I
will change it.

This change allowed the removal of a lot of "string.sub"s when looking
for arguments (eg. a note being sharp, note length, t[bpm], etc.) and
generally made the code neater.
Updated the example

It was updated for the "outputType is an argument" change.
Fixed rests without lengths causing an error
Fixed another " -> ' typo