introducing hoodieError to normalize frontend error handling

With the custom hoodie error function
we normalize all errors the get returned
when using hoodie.rejectWith

The native JavaScript error method has
a name & a message property. HoodieError
requires these, but on top allows for
unlimited custom properties.

Instead of being initialized with just
the message, HoodieError expects an
object with properites. The `message`
property is required. The name will
fallback to `error`.

`message` can also contain placeholders
in the form of `{{propertyName}}`` which
will get replaced automatically with passed
extra properties.

We follow JavaScript's native error conventions,
meaning that error names are camelCase with the
first letter uppercase as well, and the message
starting with an uppercase letter.

* * *

This commit was sponsored by Human JavaScript.
Human JavaScript is the best way to learn modern
web application development today, read it now:

http://go.hood.ie/human-javascript
removed unneeded error handling in account.js. fixes #179

* * *

This commit was sponsored by Human JavaScript.
Human JavaScript is the best way to learn modern
web application development today, read it now:

http://go.hood.ie/human-javascript
[minor] jshint

* * *

This commit was sponsored by Human JavaScript.
Human JavaScript is the best way to learn modern
web application development today, read it now:

http://go.hood.ie/human-javascript
Merge pull request #173 from hoodiehq/error_handling

frontend error handling