Using proxy for serve type, representation tidy.

Rather than retrieving the type from the return value of the MonadSnap
instance that never returns anything, the serve functions now take a
Resource proxy that informs it which type to serve.

The Rep type class has been renamed Media, with relevant tidying of
methods and documentation.