Add descriptive output + sanity check to run.sh

the non-optimised cpu reference output is diff'ed with new
cpu_reference_implementation.
Sets USEC_PER_SEC in shared_details.h

Not all systems have it automatically defined
Use non-blocking I/O for CPU OpenCL

Allows I/O to be queued up which may improve performance
Makes GPU use non-blocking I/O and map buffers

Improves performance on 650M by around 40%, may not be the same on the
GTX660 but we'll see soon.