Improved Excption proagation and Handling :
- LazyWorkflow now TerminateIO() before throwing TransferError to avoid cumbersome try catch through the code. Otherwise end user will have to finalize transfer even if they don't have access to the workflow.
- All exception catchimng uses const references
amarsi_closes #418