Tpetra: Added "TieBreak" object and interface in the Directory

This class (which lives in the details namespace) provides an
interface for determing ownership of a global id over multiple
sharing processes. It is used with a directory to make an
appropriate decision.

This commit also incoproates  the TieBreak object
into the directory, in particular the DistributedNoncontinguous one.
A new constructor has been added to the Directory, as well as
the DistributedNoncontiguousDirectory (DNDirectory) that takes a TieBreak. Furthermore
the implementation of the DNDirectory has been moved to an initialize
routine which takes a map and an optional Ptr to a TieBreak object.

Also modified the createOneToOne to take a TieBreak object

Also modified the Map_OneToOne test to excersise the TieBreak capability
Panzer: Incorporation of the Tpetra TieBreak object

This should improve load balancing (off by default) in constructing
of the linear system and assembly. This overides the default
createOneToOne decision in Tpetra and uses a hash function to improve
performance.
Intrepid MiniTensor: 4th to 2nd order constructor with static storage.
Other minor changes.
Merge branch 'master' of software.sandia.gov:/space/git/Trilinos
Ifpack2: Chebyshev: added nnz to description()
Panzer: Adding negative indexing for exodus reader

Now you can index from the back of the array
MueLu: few warning fixes
Intrepid MiniTensor: Minor formatting changes.
Ifpack2: Fixed public documentation of Container and SparseContainer.
Belos: ProjectedLeastSquaresSolver: Improved public documentation.
Tpetra: MultiVector: Improved public documentation and error message.

Build/Test Cases Summary
Enabled Packages: Tpetra
0) MPI_DEBUG => passed: passed=58,notpassed=0 (5.68 min)
1) SERIAL_RELEASE => passed: passed=45,notpassed=0 (6.64 min)
KokkosContainers: refactor Threads unit_test so that it will run 1x4 when hwloc is not found
KokkosContainers: unordered_map -- implement deep_copy, reserve, and
shrink_to _fit
Intrepid MiniTensor: Eliminated unused templates. Corrected error
in 2x2 SVD for static storage. Added explicit inverse for 2D and 3D.
KokkosContainers: no longer use find_hash_size to determine number of node_blocks need by the unordered_map
Kokkos: finish rename of kokkosarray to kokkoscore