Merge pull request #21 from neumannrf/master

Execution flow changed in order to allow further optimization
Unblocking part 8 but linking it to part 1 w/ event

Testing...
Merge remote-tracking branch 'upstream/master'
Unblocking of part 8 works fine!

Part 8 raises an event that part 2 has to wait in order to continue.
Then, before printing the output, the code checks if all the ReadBuffers
have already been executed and then prints the output files.
Implemented async. data transfer with -D_UNBLOCK

All the calls to non blocking ReadBuffer kernel were encapsulated inside
"ifdef" directives in order to allow fast switching between the two data
transfer modes.