Changes content negotiation to use qvalues

Uses werkzeug's Accept.best_match to decide on the best representation
based on client's Accept header, including qvalues.

Prior to this change, the flask-restful implementation ignored qvalues
and used the order of the list of mime types in the Accept header to
decide which representation to use.

If default_mediatype is set in the API (which it is by default), it
will be used in case none of the representations are acceptable to the
client. If default_mediatype is set to None, a NotAcceptable exception
will be raised, resulting in an HTTP 406 status code.
Merge pull request #1 from wtsi-hgi/feature/accept-best-match

Changes content negotiation to use qvalues