ENH: Only build tests for modules explicitly enabled.

If BUILD_DEFAULT_MODULES is OFF only the tests for the Modules explicitly
enabled are build to reduce build time.

Tests for modules requested by the ITKGroup_ variable are not enabled because
even for the Core Group, the test dependencies greatly increase the size of
the dependency tree.

For similar reasons, by default tests for only modules that are explicitly
enabled are built.  An option ITK_BUILD_ALL_MODULES_FOR_TESTS is added that,
when turned on, will also build all the tests of dependencies.

Change-Id: If02bde13f7e3cc47604a63ae7eec7bcfed071e5a
BUG: Fixed Affine test 32bits. Precision checks.

The testValue, testVector and testMatrix routines are now modified
to take advantage for the method:

         itk::Math::FloatAlmostEqual( v1, v2, maxUlps )

The parameter maxUlps has been adjusted to the level of precision required for
every intermediate test, and to the lower bound that still lets the tests pass
on both 64bits and 32bits. The default value of maxUlps has been set to 4, to
make it consistent with the FloatAlmostEqual() implementation default value.

This has only been tested on Linux 64/32. Additional fine tunning might be needed
for other platforms.

Change-Id: Ie4adfa0ae1d5eae3bcdf75d0e41f0196f6898cfa
BUG: Remove unused forward declarations in RegistrationMethodsv4.

Change-Id: Ia909152c893f489672cfb689c577139fa21ff148
Merge topic 'FixAffineTransform32bitsVs64bits2'

504ea57e BUG: Fixed Affine test 32bits. Precision checks.
Merge topic 'module-test2'

6f84dd4e ENH: Only build tests for modules explicitly enabled.
Merge topic 'reg-clean'

bc3c120d BUG: Remove unused forward declarations in RegistrationMethodsv4.