Improve Content-Type parsing

Provides #charset support and better coverage for Content-Type header parsing
/cc @sferik @tarcieri