Incoming now generic for use with or without ErrorT

When used by the webserver, we have a chance of failure and require the
ErrorT monad. When used by the queue sender, we (currently) don't run
any failure risks (see TODO within Incoming.hs for more), so ErrorT
isn't needed and we just use the IO monad.