Suite of new error classes

Added several new objects for exception/error handling.

- BlockscoreError, generic error for blockscore functionality.
- ValidationError, raised when input to API can not be validated.
- ParameterError, required parameter not provided to API
- AuthorizationError, raised when API key is invalid
- NotFoundError, raised when trying to access nonexistent endpoints
- InternalServerError, raised when an error occurs on the Blockscore API

These objects contain variables such as "http_status", "message", "json_body", and "error_type".

Additionally, ValidationError has the "error_code" and "param" attributes that better describe what the error is.
Added some comments...