changes parallelization

Instead of computing all rows of the distance matrix simultaneously, we now fill a single row in parallel. At the moment this is slower, but uses less memory than the old method. In the future the user can pick either method via a (compile time) switch.
Merge branch 'master' into spacetime

Conflicts:
	src/process.cpp
Merge branch 'master' into spacetime
adds --low-memory argument
creates new io.cpp file

 * moves io functions into io.cpp
 * creates unified interface (FAIL,WARN) for errors