Encapsulated content type handling. Fixes #4.

ContentTypeHandler is an abstract base class for all content type
handlers (imagine that!). SimpleContentTypeHandler uses file extensions
and a really short mapping to determine content type.