pe2obj now uses cleanup macros, removed redundant argc check
genlds uses cleanup macros
Code Cleanup:
 - ENSURE* renamed NO_FAIL. ENSURE sounds like assert, which is misleading
   as it is bad if the conditional is true
 - Added NO_FAIL_SILENT for callee handling error msg
 - Started to factor out common code with new procedure, open_and_read
 - Makefile has debugging support with `make DEBUG=<someshit>`