Add test for ConfigureFor32 and ConfigureFor64 header files.
Force 32-bit types when including ConfigureFor32.h.

Previously ConfigureFor32.h just undefined DAX_USE_64BIT_IDS and
DAX_USE_DOUBLE_PRECISION, but this was done before Configure.h set them
in the first place, so it really had no effect.
Remove printf warning when using 64-bit Ids.
Fix thrust-based device adapters to detect when allocations fail.
Merge branch 'fix-ConfigureFor32'
Correct FindThrust to set INCLUDE_DIRS as non cache entry.
Merge branch 'correct_find_thrust'
Remove unneeded typedefs and functions.
Make thrust::device_vector behave like malloc instead of stl::vector.
Merge branch 'reduce_allocs'
Use the generic implicit container for constant and counting arrays.

Dax comes with a generic container that can turn any completely implicit
array portal into an implicit array handle. However, the two implicit
arrays that come with Dax did not use that. Instead, they both
completely reimplemented everything in the generic implicit container.
This change removes that redundant code.
Merge branch 'use-implicit-container'
Make LoadDataForInput and LoadDataForInPlace more consistent.

The ArrayManagerExecution and ArrayTransfer classes have
LoadDataForInput and LoadDataForInPlace methods to copy input data from
the control environment to the execution environment. Previously,
LoadDataForInput accepted a const array portal from the control
environment whereas LoadDataForInPlace accepted an ArrayContainerControl
object.

The ArrayContainerControl object was given in case a shared array
manager needed to allocate space. However, since the input array already
exists, there should be no need to ever allocate space in the control
environment. Thus, LoadDataForInPlace no accepts a non-const array
portal to be more consistent with LoadDataForInput.
Merge branch 'consistent-LoadData'
Minor corrections to ArrayTransfer of zip container.

Added some safety checks to make sure that ArraysValid was true before
using the arrays. Also minor fixes to comments.
Merge branch 'zip-container-corrections'
Remove dependence from TBB to thrust.

The TBB device adapter has no dependence on the thrust library at all.
Thus, it should not be including any files from the thrust package.
However, ArrayManagerExecution for TBB was inheriting from
ArrayManagerExecutionThrustShare for no particular reason. This has been
changed to the more appropriate ArrayManagerExecutionShareWithControl,
which is located in the cont package.

I also deleted some unnecessary typedefs inside the TBB
ArrayManagerExecution.
Merge branch 'tbb-without-thrust'
Fix issue with error message buffers in TBB schedule.

The TBB schedule kernels catch exceptions within threads so that they
may be written to the error message buffer and later thrown in the
control environment. There was a mistake where the error message buffer
was not set in the schedule kernel (only the functor it called) so any
such exception would cause a write into a non-existing buffer.
Merge branch 'tbb-error-message-buffers'