Improved support for the charset parameter on Content-Type headers.

- charset can now be missing when other parameters are supplied.
- charset no longer needs to be the first parameter.