EVL call center Upload

Add hard coded way of processing EVL call centre volumes. 

This involves changing the CSV and Excel parsers to output raw lists of lists. These are then passed through zero or more filters configured on a bucket before being passed to a final function that turns the list of lists into a list of records.

All the upload parsing code has been moved into a separate package in `core`. The EVL specific parser has been put in a separate package called `contrib` (better names welcome) to highlight that it really shouldn't be here at all.