Add feature to change http status code on error.

Right now, the endpoints always return 400 response HTTP status code when
the API method returns an error. This CL allows one to return suitable
response code on error.

Closes #22
Thanks @soundTricker

Squashed commit of the following:

commit 3964f19b56cb0384e0506341c329192a32b77818
Author: alex <alex@cloudware.it>
Date:   Sun Jan 26 22:52:51 2014 +0100

    Consistent name across all New*Error methods

commit 63d0fb6d304fecda55dff20cf2c95a8670c4da9b
Author: keisuke oohashi <keisuke.oohashi@gmail.com>
Date:   Tue Nov 19 09:16:09 2013 -0800

    Add more explain about capatibility

commit ecf18e9b7ed942812179416cad3012422effac97
Author: keisuke oohashi <keisuke.oohashi@gmail.com>
Date:   Sun Nov 10 15:49:52 2013 +0900

    Add feature to change http status code on error
Go fmt everything.