Feature/promise error

Moved the console output `fail()` handler to the cli script.

This way the module passes the rejected promise to module users so they can react to it. (currently the fail handler in lib/cleaver.js eats the error.

Also the bin script exits with a non-zero exit code on failure.

Closes #61