Make 'Delta' a proper type and change :|:, :||: impl.

In case :|: and :||: evaluate both arguments to 'T', they now prefer the
one with the smaller 'Delta' value, or -- if both are equal -- the
left-hand one.
Add 'ParamGuard'.

This predicate test the existence of a parameter satisfying the given
predicate.
Add get_, post_, etc.

These "overloads" do not have predicate as parameter and can thus be
used without. This enables clients to write:

> get_ "x/y/z" handler

instead of

> get "x/y/z" handler $ Const ()
Add haddock comment for 'ParamGuard'.
Restructure Params.

Everything is build on top of 'Parameter' which is the most generic
request parameter predicate provided, supporting conversion and
defaulting.
Add type-class Readable.

And restructure Param predicates again.
Simplify delta.

Instead of normalisation etc., simply add up the deltas.
Restructure modules, add Content-Type.
Parameter: Include type in cache-key.

Parameter might be invoked through Param for different instances of
'Readable', which attempt to convert the same parameter to different
target types. Hence the cache-key must be disambiguated by also
including the target type signature.
Accept: Fix handling of absent accept header.

If no Accept header field is present, then it is assumed that the
client accepts all media types. [RFC 2616, section 14.1].