Added test arguments to the contactmanager, datainteface and
dataserialiser constructors - allows me to test the data flushing
functionality without corrupting the main data set.
Clean up of DataInterface, refactor and added comments, also made more
generic - now is simply a data interface, very little logic.
Updated contact manager for the above.
REmoved testing comments from tests.