make MediaType encodable
add mediatype/mediaheader decoding

cache the values manually so we don’t have to re-parse them
rename adapter => encoding
add a basic memory cache implementation
add Set()