Replace options.silent with options.level

You can pretty much silent all output by using the 'fatal' level
Remove options.logger

This makes more sense in Python
Bug fix: Ensure stack traces are logged correctly for non-Errors
Improve error names when running integration test
Replace options.env with options.active

Previously errors was logged if NODE_ENV wasn't either development or test.
Now they are ALWAYS logged unless active == false