add str and makefile methods to DefineDirective
tests for define multi-line macro support
minor clean-up