make semicolon adding DRYer and handle ‘#…’ lines

‘#…’ lines, lines that begin with a ‘#’, are preprocessor directives. This program now avoids adding semicolons to the end of such lines.
don’t add semicolons to lines ending in \
add more test cases

also enable another existing test case

rename basic-test test case to match naming scheme with increasingly complex test cases
add license – the MIT License