Allow floating point error in comparisons of vector type operations.

Even though the vector operations in UnitTestTypes are all low precision
integer that should be precisely represented in floating point values,
the optimizations of Intel's icc compiler (which probably performs the
computation in the compiler itself) are off by some small epsilon.
Add copy constructor to Tuple.

For some reason, the icc compiler, with optimization on, was having
problems with its own default copy constructor.
Add operator= to Tuple classes.

Same reason for adding the copy constructor in the last commit.
Merge branch 'icc-fixes'