Modernized to C++11 style
Generalized key combiner
Fixed output directory on Debug build
minor code tidyup
removed calls to bad() in favor of fail()
replace unique_ptr for auto_ptr