improve syntax error messaging
* add (quote) to turn a symbol into a string (useful in macros
* fix a bug where multiple instances of a value inside a macro was only being replaced once