Initial commit
First draft of resource interface
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.
Tidying Media module
Fleshing out Stored, retrieving now working

The Stored type class is now multi-parameter with a functional
dependency so that the correct monad and a type to identify resources
are both available in the methods.  At the moment this identifying
property is purely pulled from the remaining path of the route, but in
the future could support query strings as well.
Implementing more detailed errors
Storing and deleting implemented
Implementing diff values, updating implemented
Implement HEAD as GET
Adjusting media type class names and docs
Adding early Options, removing ContT
Modifying HEAD to use exists
Adjusting export interface
Adjusting http-quality to http-media
Splitting the Stored type class into components

Rather than have all of the methods relating to accessing the resources
from a store be in one type class, each method is now in its own type
class.  This means that certain functionality of a resource can be left
off.  This way, you can create resources which are permanent after their
creation, or adjustable resources that cannot be read.

At this point it's not too clear how to do fully featured options output
from this new interface, as using one of the more specific serving
functions doesn't necessarily address the full feature-set of options
available.
Correcting Content-Type matching
Adding monad parameter to Media type classes