Make sure asm cleans all tmp files on failure
Added function ascii for string literals
Small refactor and added opt parse and a few options

 * -a --asci for ascii output
 * -o --output for outputting to a file
 * -w --watch to continually build a the input file on change