Remove the use of the LambdaCase extension

The extension is available only in GHC 7.6+, which unnecessarily
prevents compiling scotty on older versions (for example Debian Wheezy
has 7.4).

Also simplify takeMVar ... putMVar using modifyMVar.
Expose JSON parsing of an arbitrary ByteString

This is sometimes needed when the body of a request needs additional
processing, such as signature verification, before parsing the JSON
content.