Add cabal file
JSON: Improve haddocks for `MaybeForJSON`
Add MonadBaseControl instance for RpcClientMonad

So that exceptions can be caught in the `RpcClientMonad`.
Utils: Add `isUUID`

We have an existing uuidRegex with which UUIDs can be checked,
but it is conditionally compiled if Ganeti is configured with
regex-pcre support, and we don't want to make the dependency on that
unconditional.

This implements `isUUID` with an Attoparsec parser that is equivalent
to the `uuidRegex`.
WConfd.Client: Add `withLockedConfig` helper function

Blocks until a a lock on the config is obtained.
Query.Server: Extract `handleQuery` from `handleClassicQuery`
WIP: Filtering. GET, POST, PUT, DELETE all work