+ http: fix recent MediaType refactoring causing `*/*;q=?` mismatch, add tests

This change also add a `def withCharset(charset: HttpCharset): ContentType`
convenience method to `MediaType`.