Removed writeln from unit tests

This allows us to make most unit tests @safe
and lets us avoid pulling in std.stdio
Replaced build function in Reducer with constructor

Also disabled default constructor