WIP: first part of custom csv mapper

This is roughly in the state I showed you at the weekend. I've just rebased and pulled in a lightweight templating library to tidy things up a bit. Have also included bean for event handling. I've put these in the `vendor` to keep the third party libraries separate from source. Others can be moved in another pull request. I've left a couple of small comments with TODOs. I think it makes more sense for you to do the filterSpec refactor we talked about if you're up for it.