Corrected the formula for floating-point comparison in wbSolution() for MP2 & MP3

When copying the formula from wbSolution() for MP1, MP4 & MP5 I forgot to change the variables
Extracted floating-point comparison in wbSolution() to wbFPCloseEnough()

Implemented the floating-point comparison test using Knuth's 'close enough' algorithm. See Seminumerical Algorithms 3e, s. 4.2.4, pp. 213-225. Note that the tolerance level, e, is still arbitrarily chosen. Ideally, this value should scale std::numeric_limits<float>::epsilon() by the number of rounding operations.
Updated CMakeLists.txt so that executables link to the math library (-lm)
Inserted calls to cudaDeviceSynchronize() in the UNIX/POSIX timing routines