WIP: Return Result Object

I was toying with the idea of return a `Result` object from the `Workflow` which could provide more information on what happened in the import. 

My motivation for this was that after one file finished importing, If it had any errors I want to move it to a failed folder, for someone to check later, or moving to an archive folder if successful. 

What do you guys think to this idea? 
Is there anything else we could add to it? I was thinking actually putting the errors in the `Result` object, but this could cause memory issues if there are lots of errors. 

If this is something you guys would consider, I'll write some tests and documentation for it 

PS. Not tested at all - I wanted to get a reaction first.