Refactoring of http error handling

- replaced 400 (Invalid Request) error with 422 (Unprocessable Entity) ones (in most cases). - removed Errors::BadRequest and replaced its instanceds with HttpErrors::UnprocessableEntity
- Http error codes are now part of HttpErrors

Please note  a couple of todo's left in the code; pls. reply with your suggestions/thoughts, I'll amend the PR correspondingly.