First attempt at handling repeat loops
Make the commands a bit more verbose and easier to use
Be more explicit in our errors if adding too many commands
Use byte instead of unsigned char because that's the recommended Arduino way
Add the concept of meta functions that act immediately and don't make it into the actual program space
Add some error checking for syntax and program errors
Use the function return value to determine whether to move on to the next function.
This will allow us to make functions that, for example, wait for the steppers to reach
a position before moving on to the next function, without stopping us from responding
to input on the serial lines.