The unit of recorded work for the process reals task is now also the source.
That is, if not all observations of a source are processed before 
quitting, they must be redone the next time.
Still TODO: buffer writing to the MPC file until the source is finished.
Currently processing an observation, quitting, restarting and processing 
it again will result in two entries.
Gave MPCWriter the ability to buffer data until a call to flush is made.
By default auto_flush is set to True in the constructor, in which case
it flushes after every line, but for the GUI application we set it to false
and call flush ourselves only when all readings for a source have been 
processed during the reals task.
Also changed the time at which files get closed to be when the model
exits to avoid problems with the file closing before the data gets flushed.
Added test case for MPCWriter in auto_flush=False configuration.
Merge pull request #59 from drusk/saving_at_source_level

Saving at source level