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