Adds test cases for Accept, including best_match

One test has been decorated as an expected failure. This is
because the current implementation does not correctly
implement specificity.

For example, if the accept header on the request is:
`Accept: x;q=0,y;q=0.5,*;q=1`
Then `x` should never be the best match because it has
been specifically declared as q=0. However, in the current
implementation, werkzeug will see *;q=1 first and decide
that it matches. This is not correct behaviour according
to RFC2616, but more substantial changes would be
needed to fix this. I've put in a test which I expect
should pass once this is fixed.