Make lint happy
Put data source methods into RetconAction monad

- Add hs-boot files and shuffle definitions around to break module
  import loops.

- Use this to add the new monad to the DataSource module and change
  the types of the RetconDataSource type class methods to use the new
  monad.

- Do other tiny vaguely related things.
Replace run and error code for new action monad

Update the code which "runs" data source actions for the new unified
monad:

- Use new "runRetconAction" function

- Update error handling code around that (simpler exception handling)

- Remove old DataSourceAction monad
Add SOURCE pragmas after stylish-haskell took them out
Remove import of old Config module
Start trying to fix user API tests
Update "userapi" tests; builds but needs cleanup

Update the "userapi-test" suite in line with unification of
DataSourceAction and RetconHandler monads.

These tests still need to be cleaned up to, e.g., avoid thrashing the
retcon state unnecessarily in each case.
Update "postgresql" tests: builds, needs cleanup

Update the "postgresql-test" suite in line with unification of
DataSourceAction and RetconHandler monads.

These tests still need to be cleaned up to, e.g., avoid thrashing the
retcon state unnecessarily in each case.
Update handler tests; builds, fail & need cleanup

Update the "handler" test suite to build and run with the new unified
action and handler monad. Alas the updated tests fail, with some
changes to the way errors are returned to client code.
Simplify error handling for actions, run from handlers

This alters the error-handling so that `runRetconAction` handles
errors and lifts the result of the action into `RetconHandler` as an
`Either RetconError`.

As a result, we can remove much of the error handling code around the
invocation of actions from the core handlers.
Remove stylish-haskell from Makefile

stylish-haskell seems to remove the {-# SOURCE #-} pragmas needed to
use hs-boot files to break import cycles. This makes the code stop
compiling.
Tweak running of actions in canned source tests
Merge branch 'wip-unify-monads'

Replace DataSourceAction monad with restricted RetconMonad

Conflicts:
	tests/HandlerTest.hs