Made mimetype negotiation much more spec compliant

The current implementation only permits exact matches on mimetype strings, whereas Accept headers may contain wild cards (such as `text/*`, up to `*/*`). This pull request includes tests, code and documentation to add the capacity to deal with wildcards. All current tests remain as they were, so the current behaviour should not break for anyone. I have also bumped the minor version to reflect the API change.