Added fail-safe to host memory registering, allowing pre-registered memory to be passed in.

Fixed bug in Makefile to work with nvcc 5.0.

Added linker flag -lrt, required for clock_gettime function.
Replaced cudaHostRegister fail-safe with compile options REGISTER_HOST_ARRAY/MATRIX instead, as it was still really slow.
Changed xgpuInit to not initialise host_h/matrix_h, but added USE_OLD_INTERFACE parameter (default=1) to maintain backwards compatibility.

Added missing flags in Makefile for new compile parameters.
Simplified things by removing ALLOW_OLD_INTERFACE in favour of simply checking REGISTER_HOST_* instead, as this is probably the only logical use-case.
Replaced REGISTER_HOST_* compile-time flags with runtime flags passed via the device-index parameter to xgpuInit as per Dave's suggestion.