Tidy up function names and returned parameters
Add 5th assignment

Implemented using CUDA - because of poor qmake support,
complete with makefile instea.
Reimplement OpenMP pragma

The previous version was not only prone to concurrency issues,
but also did not fare as well as the new one.
Rewrite function names, refactor function call chain
Fix minor issues

The argument count expected is actually 3 (counting the
executable name).
The dim3 structure was not properly filled.