pool: Move transfer error handling to execution service

This patch moves the bulk of the transfer related code
out of PoolIoRequest and into the execution service. The
goal is to eventually get rid of the PoolIoRequest class
by moving all functionality to other classes.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5430/