Allow special characters in inputs

To address #128, you can now use single-quotes like `'foo & bar'` to include arbitrarily silly filenames as inputs or outputs. If you need to include a single-quote itself, you must escape it with `\'`; to include a single-quote inside of a quoted string, you must (like in bash) leave the quoted context, insert `\'`, and then go back into the quote: `'foo '\''n'\'' bar'` would be the way to encode `foo 'n' bar`.