More SIMD math argument checking, added unsafe options
This change adds more argument checking and safeguards
for sqrt, exp2, and exp-related SIMD math functions, and
properly documents allowed values. These functions now
have an (optional) template parameter that makes it possible
to avoid the checks where it is important to save every cycle,
and the developer is certain that this usage is fine. For
now we only use the unsafe versions in the nonbonded kernels.
The SIMD function test code has also been extended with options
to allow denormals to be considered zero.
Fixes #2164.
Refs #2163.
Change-Id: I93ddadf74dd0fa013f61cf27fd1993f11cde28bc