Define latest error codes, change existing code structure to use them.
Send error.serviceUnavailable when we're too busy.
Intercept hawk errors, transform into custom format.
Use application-level Error objects in the Model classes.

This avoids introducing boom and hoek as dependencies of the client lib.
Ensure all errors have an 'errno' attribute.

In the absence of something specific, use 999 for "unspecified error".
Merge pull request #248 from mozilla/rfk/detailed-error-codes

Implement detailed error codes