error messages can now be presented

This PR is a proposal (and misses specs & co) to present error messages like started to discuss [here](https://github.com/tim-vandecasteele/grape-swagger/pull/110).
It will be possible to do some thing like this:


```ruby

module  API
  module Entities
    class Error < Grape::Entity
      expose :error, documentation: { type: 'string', required: true }
      expose :code, documentation: { type: 'integer', required: true }
      expose :detail, documentation: { type: 'string', required: true }
      expose :href, documentation: { type: 'url', required: true }
      expose :rel, documentation: { type: 'string', required: true }
      expose :time, documentation: { type: 'datetime', required: true }

      def rel
        'self'
      end

      def href
        options[:env]['api.endpoint'].request.url
      end

      def time
        Time.now.utc
      end
    end
  end
end

error!({ error: 'Not Found',
            detail: "Some more information",
            with: API::Entities::Error
           }, 404)

```

This PR requires the upcomming version of  `grape-entity` .

I find this option either very confusing or bad practice. 

It populates the result with an HTTP error code, but you already get the HTTP error code from ... HTTP. This creates an opportunity for a different value here vs. the HTTP response, for example if you have some middleware upstream that rewrites things (not uncommon). 

I suggest removing it from this PR, and opening an issue for discussion. Generally there should be a way to augment errors with things like the HTTP status code or, say, a value of a header or something else without magic.