Adds support for command line arguments
Adds xUnit reporting (very basic)
Refactors dredd to use a config object. Allows cli/package usage.

This commit is all about improving the robustness of the command line utility, and allowing dredd to be used as a node package.

It refactors dredd from a function to an object, which can be configured at runtime. The command line tool has been refactored to configure the dredd object rather than interact with protagonist directly. This allows dredd to be used within other node applications (for more complex initialization, such as performing an auth handshake). It adds several new features to the command line interface, including the ability to specify a reporter, turn on debugging, silence output, and display a nice help.
Adds a command line reporter to replace direct cli calls
Passes errors up

Before, any errors (including failing tests) immediately caused the app to exit. Now, the errors are passed up so that whatever is calling dredd can handle them appropriately, and failing tests don't stop the execution.
Fixes broken tests
All original tests passing
Improves coverage
Refactors reporters

Reporters now inherit from a prototypical reporter, and they implement the composite pattern: a single reporter or a chain (or tree) of reporters have the same interface.
Refactors dredd

Makes it a bit more modular, removes some dependencies from dredd.coffee.
Adds a better logger for cli reporting

Adds winston and configures it for outputting tests. Next commit will improve test output for cli and junit reports.
Clean up after testing reporters
Fixed conflict in localmed's fork
Improves output for cli and unit reporters
Bump version and added to readme
Merge branch 'xunit-reporting' of github.com:localmed/dredd into localmed-xunit-reporting