fix(Request.client_accepts): Accept parsing doesn't handle application/*

This patch adds support to the parser for robust accept header handling,
courtesy of mimeparse. Care was taken to make the common cases fast.

As part of this change, Request gains a new client_preferrs() method that
can be used for content negotiation when the service supports multiple media
types.

Fixes #155