Add typeclass FromParam
Extract URL info separately from request body info.
Interpret URL contents at resource level, not method level.
Don't let capture interpretation do other ActionM operations.
Tweak order of declarations.
Separate parsing of URL captures from parsing of request body.

Two reasons.  First, soon UserIDs will be presented to the client as
URLs and expected to be returned as URLs in request bodies, so they'll
have to be parsed differently in that context than when they're in a
capture.  Second, this way the applicative expression representing how
the captures are interpreted appears right beside where the captures
are defined, which is less error-prone and more self-documenting.

Merge branch 'fromparam'

* fromparam:
  Tweak order of declarations.
  Don't let capture interpretation do other ActionM operations.
  Interpret URL contents at resource level, not method level.
  Extract URL info separately from request body info.
  Add typeclass FromParam