Tpetra: MultiVector (classic & Kokkos ref.): Added default ctor.

The default constructor helps MultiVector implement view semantics.
I'm adding it now in order to help with the new block data structures
which I'm adding for internal customers.
Tpetra: Added new BlockMultiVector class and unit test.

Tpetra::Experimental::BlockMultiVector differs from the existing
Tpetra::BlockMultiVector, in that the former implements only a fixed
block size (i.e., number of degrees of freedom per mesh point),
whereas the latter takes a general Tpetra::BlockMap.

The unit test exercises basic invariants of the new class' two
nondefault constructors.
Tpetra: (new) BlockMultiVector: Added test for default ctor.
Tpetra: MultiVector: Removed obsolete Kokkos Node trace functionality.

The KOKKOS_NODE_TRACE macro is a debugging macro when calling classic
Kokkos kernels with KokkosClassic::ThrustGPUNode.  It only ever did
anything for ThrustGPUNode.  We don't need it anymore, and I would
like to reduce compilation times by not including that header file
anymore.  Thus, this commit removes all use of that macro from
MultiVector (both classic and Kokkos refactor versions thereof).
Teuchos: Array: Improved public documentation
Tpetra: MV (Kokkos ref): Fixed build error in default ctor
Tpetra: MV (classic & Kokkos ref): Added "copyOrView" feature.

This option lets the "classic" version of MultiVector have either copy
or view semantics.  This choice is set in the two-argument copy
constructor, and is transmitted to the results of any subsequent
one-argument copy constructor or operator= call.  That is, for the
classic version of MultiVector, the choice of semantics is
"contagious."

The Kokkos refactor version of MultiVector only ever has view
semantics.  However, if the two-argument copy constructor is given
Teuchos::Copy as its second argument, it does a deep copy rather than
a shallow copy.  The resulting MultiVector does _not_ pass copy
semantics to the results of any other copy constructor or operator=
call, though.

For both the classic and Kokkos refactor versions of MultiVector, you
may query the "copy or view" state.  For the classic version, you may
set this state.  (This is for expert users only; the feature may
change or disappear at any time.)  The Kokkos refactor version has the
interface to set the state, but throws an exception if the user tries
to set any state other than Teuchos::View (view semantics).  "Any
customer can have a car painted any colour that he wants so long as it
is black" (Henry Ford).

This new feature makes it easier to implement new classes that assume
view semantics of MultiVector.  In particular, I was motivated to add
this feature when implementing the new
Tpetra::Experimental::BlockMultiVector class.  This feature is also
helpful for avoiding a potential double copy in the Tpetra
specialization of Belos, when "cloning" a MultiVector.
Tpetra: BlockMultiVector: Can how get view of data as a MultiVector.

Tpetra::Experimental::BlockMultiVector now has a method,
getMultiVectorView, that returns a view of the BlockMultiVector's data
as a Tpetra::MultiVector.  The view has "view semantics," which means
that if it is the argument of MultiVector's copy constructor or the
right-hand side of MultiVector's operator=, the result of either
operation will be a shallow copy of the input, and will also have view
semantics.  (The Kokkos refactor version of MultiVector already has
view semantics.  This is only of interest for the "classic" version of
MultiVector, which does not currently have view semantics by default,
though this will change in the near future.)

BlockMultiVector also now has a test to exercise this method.

Build/Test Cases Summary
Enabled Packages: TeuchosCore, Tpetra
0) MPI_DEBUG => passed: passed=113,notpassed=0 (8.14 min)
1) SERIAL_RELEASE => passed: passed=93,notpassed=0 (9.16 min)
Other local commits for this build/test group: 4468341, c19bc06, 7ac5e94, 49c856f, 3ec2946, 834caad, d676074
remove trailing whitespace
INCLUDE(FindOpenMP) -> FIND_PACKAGE(OpenMP)

Fixes bug #5934.
[Rythmos] Fix build error when EXAMPLES are enables and TESTS are not

Fixes bug #6102.
[PhdMesh] Fix build dependencies.

Fixes bug #6101.
[TriUtils] Use strcpy for char copies

Fixes bug #6071.
[Galeri] Use strcpy for char copies

Fixes bug #6072.
[EpetraExt] Trailing whitespace
[EpetraExt] Trailing whitespace
[EpetraExt] Use strcpy for char copies

Fixes bug #6073.
updated (L)GPL header to new FSF address

The former FSF address

  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307

was still used in many license statements. This has now been corrected to

  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301

This fixes bug #6121.
[NOX] remove tabs, trailing whitespace
[NOX] catch exceptions in DS6.5.1 test