Kokkos/Tpetra: Work around Teuchos-Test static object construction/destruction ordering problem.
Revise Kokkos memory spaces and hwloc to be robust against erroneous attempts to call their functions after exiting main().
Generate warning messages instead of throwing exceptions.
Remove previous work-around in the Tpetra wrapper node.
Zoltan2: Documentation update to mention coloring (experimental).
Ifpack2: separating RILUK tests

All but one of the RILUK tests are single-process only.  Previously,
they were part of the monolithic Ifpack2_unit_test.exe, and on more than
one processor, they would exit early and "success" would be reported.

This commit puts those tests into their own executable,
"Ifpack2_RILUKSingleProcessUnitTests.exe", that will run in serial or on
a single MPI task.  When it runs, we now have confidence that it's
testing something nontrivial.

The single RILUK test that can run on any number of processes is still in
the monolithic unit test executable.

Build/Test Cases Summary
Enabled Packages: Ifpack2
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=25,notpassed=0 (1.20 min)
1) SERIAL_RELEASE => passed: passed=20,notpassed=0 (0.82 min)
EpetraExt: Graduating ENABLE_MMM_TIMINGS to cmake option status
Tpetra: Graduating ENABLE_MMM_TIMINGS to cmake option status
Tpetra/EpetraExt: Fixing typos
Tpetra/ExtraExt: More configuration stuff

Build/Test Cases Summary
Enabled Packages: EpetraExt, Tpetra
0) MPI_DEBUG => passed: passed=80,notpassed=0 (18.55 min)
1) SERIAL_RELEASE => passed: passed=63,notpassed=0 (5.72 min)
Other local commits for this build/test group: 197d011, aa5f5f2, b51b0bf
Kokkos::Vectorization -- put implementation of shuffle in file, added fallback

I moved the implementation of the shuffle operation into the Vectorization<Cuda> file
where they belong (they were in CrsMatrix in linalg). A fallback for "reduce"
was added for types which are not supported by shuffle. This fallback uses
a static shared memory allocation of 256*sizeof(Type) per block.
Kokkos::CrsMatrix -- removed implementation of shfl_down, fixed warnings

The implementation of shfl_down moved to the Vectorization class file.
Fixed some warnings when compiling with unsigned int as value_type for
a matrix.
Kokkos::NodeWrapper -- added serial node, added support for more specific init

The initialization now understands "Num Threads" "Num NUMA" and "Num CorePerNUMA"
in the ParameterList and will do the right thing with those (i.e. call the
one, two or three argument version of Threads/OpenMP::initialize()).
Kokkos::Threads/OpenMP -- added KOKKOS_INLINE_FUNCTION macros

when compiling a kernel for the Threads or OpenMP device which uses
the device interface [i.e. operator() (DeviceType &dev) {} ] with nvcc
because CUDA is enabled, warnings are issued for functions such as
thread_rank() league_rank() etc. because one calls a "host" function
from a __host__ __device__ function. Adding KOKKOS_INLINE_FUNCTION
or KOKKOS_FUNCTION to most of those things helps, but can not eliminate
all warnings. For example some of the functions in the Threads interface
will ultimately call pthreads api function which are pure host functions.
Kokkos::Serial: added four argument version of initialize

The serial node did not support the four argument version of initalize yet.
This is in particular a problem in conjunction with cuda where one might want
to call: Kokkos::Cuda::host_mirror_device_type::initialize.
TrilinosCouplings: FENL: fixed some issues with Kokkos-Device Init

there were some issues with both the Tpetra node and the main itself
initializing the Kokkos device. This is fixed now.

Update the CMake files with necessary dependencies.
TrilinosCouplings: updated dependencies
Kokkos: fixing more issues related to building host devices with NVCC
Kokkos: Compat Nodes updated serial node with Carters change for static node handling