Smarter string escaping. Fixes #114
If the string contains no single quotes, use a single-quoted string.
If the string contains no double quotes, use a double-quoted string.
If it contains both, single-quote it and escape the single-quotes.
In all cases backslashes and newlines are escaped.
Use two different string-escape functions
One for Lisp string literals, and the other for Javascript string
literals, the difference being the option to use single-quoted strings
in Javascript
Merge pull request #115 from orodley/smarter-escape-string

Smarter escape-string