BasicRepresenter#preference_for_type

* improved method of loosening client-specified types (e.g. a/b -> a/* -> */*)
* added missing handling for a client that accepts foo/* or */* (using #first_[sub]type_excluding)

closes #7
stricter error handling

parse_Accept() now fails if an accept-extension parameter is invalid (like it already does for bad media-range parameters)

Also added token_or_quoted_string($str), although the code that was going to use it have been reverted.
version bump
version bump