Allow a Language to be converted to its parts

A Language value could be converted back into its header representation
in a ByteString, but this was not as useful for processing as a straight
list of the language parts. Now the Language module defines a toList
function for Languagues.