Improve/fix comparison function and tests after discussion at http://stackoverflow.com/questions/3874627/floating-point-comparison-functions-for-c-sharp/3875619#3875619