Merge pull request #157 from maverickwoo/master

safely remove output_file, which may not exist
Split out the types representing C code.
Remove unused 'env' parameter from C code printing functions.
Split out C pretty printing into a separate module.