Inconvinient errors handling

In node.js first argument of any callback function represents an error and should follow some rules:

 * It should always be `null` if request completed successfully.
 * It should describe an error otherwise.

The main problem is that all node.js libraries and frameworks for handling asynchronous workflow expect it to be so.

Passing `200` instead of `null` is against node.js callbacks convention, and it breaks any code written according to it.

**N.B.** It's also [a good practice](http://www.devthought.com/2011/12/22/a-string-is-not-an-error/) to wrap all errors using `new Error` constructor in order to capture stacktrace.