ENH: Get Direction and CoordinateTolerance are const methods.

Change-Id: Ib98f58f6583d28addf8e9fb6f2a2f247d849600f
STYLE: Remove unnecessary overloads in favor of implicit conversion

These were added by ee3a5d4738c57ba1152bf0edf058ef70873c0c72.

Change-Id: I55cf65b6b77824b0c64e74b5414d59fdf67650a7
STYLE: Minor style fixes

Removed a commented line in itkGradientVectorFlowImageFilter, fixed a
typo referrred to referred, and removed an extra indent when printing
the information on ImageBase class.

Change-Id: Iaa0227584d995125a63868c82e746fca5061caa4
PERF: Replace deep copy with const const signature

There was no need for a non-const ExposeMetaData function
signature.  The types needed to match throughout.

This issue was caused by b3300d688101b9c5ed4fa8ce6c04ac7eb53b37ad

Change-Id: I1cbb9ca500fd7d61840af0c22a28e3a913f60a9c
BUG: Add missing header to the third party TIFF install.

Build errors will occur against an install when including
itkTIFFImageIO.h.

Change-Id: I26e0cf86622f41e326cf2373beb2d97f4f9081da
Merge branch 'TiffInstnall' into release
BUG: Fix "git gerrit-push" for content links with spaces

The sed-to-awk conversion by commit 180a5476 (Fix "git gerrit-push"
content link recognition, 2011-06-13) increased portability but also
broke recognition of content links with spaces in the path.  This is
because the awk "$6" expression matches only the file name up to the
first space.

Remove the string processing and use the bash 'read' command to parse
the diff-tree output lines.  It parses tokens on whitespace but the last
token automatically consumes the rest of the line and preserves spaces.

Change-Id: Ia21258133d0f0a71627607e042b8b8274e9f8611
Merge topic 'gerrit-push-data-with-spaces'

60a7cb6 BUG: Fix "git gerrit-push" for content links with spaces
Merge topic 'metadataobject-overloads'

fee2998 PERF: Replace deep copy with const const signature
420fc00 STYLE: Remove unnecessary overloads in favor of implicit conversion
Merge topic 'DirectionConst'

d3c9b9f ENH: Get Direction and CoordinateTolerance are const methods.
Merge branch 'release'
BUG: incorrect CMake variable for system jpeg include

This was encountered when doing some weird cross-compilation.

FindJPEG defines the following:
  JPEG_INCLUDE_DIR, where to find jpeglib.h, etc.
  JPEG_LIBRARIES, the libraries needed to use JPEG.
  JPEG_FOUND, If false, do not try to use JPEG.

Change-Id: I565b9c8b1399a1e2973ec5b4813497b1df64add0
Merge topic 'stylefix'

a1bfd29 STYLE: Minor style fixes
Merge branch 'release'
ENH: Get function accessible from const objects

This resolves the first phase of a transition described in ITK-3001,
Phase 2 is recorded in ITK-3002
Phase 3 is recorded in ITK-3003

This patch provides a less ambiguous, and more const-conforming
interface to promote the abiltiy to return itkObject::Pointer
ivars from a class to the environment in an explictly modifiable
form, or in a const form.

itkGetObjectMacro <-This will eventually be deprecated, it provides a
                    non-const API to to an ivar object pointer
                    object * Get##name()
                    and it masks the const-conforming itkGetConstObjectMacro

itkGetConstObjectMacro <-This provides the const version of itkGetObjectMacro
                         object const * Get##name() const

itkGetModifiableObjectMacro <- This provides the new API for
                               getting the non-const pointer to the object
                               as object * GetModifiable##name() that
                               has the advantage that it DOES NOT
                               hide the itkGetConstObjectMacro and that
                               it more explicitly conveys that the
                               returned object may be modifiable so you
                               must use caution.

In addition, these changes also enforce that the itkGetConstObjectMacro is
always and consistently defined for all instances where a non-const version
is available.  Previously there were some ivars that were only available
from a non-const object type, thus promoting the use on the non-const
objects unnecessarily.

In Phase I
==========
itkGetModifiableObjectMacro implies that all 3 interfaces are available
        object * GetModifiable##name()
        object * Get##name()
        object const * Get##name() const

In Phase II
===========
itkGetModifiableObjectMacro implies that all 3 interfaces are available
        object * GetModifiable##name()
        object * Get##name()             <- This will issue compiler warnings
        object const * Get##name() const

In Phase III
============
--when ITK_LEGACY_REMOVE=OFF
   Same as Phase II

--when ITK_LEGACY_REMOVE=ON
itkGetModifiableObjectMacro implies that all 3 interfaces are available
        object * GetModifiable##name()
        object const * Get##name() const

        object * Get##name()             <- This will issue compiler error about missing function

The Get methods for functions need to have version
that is accessible from const versions of the object.

In most cases access to the internal member variables
for read-only purposes is accomplished through a const
Get member function.

The most common paradigm used to preserve the principle
of encapsulation for class member functions is to provide
a Set function, and a const Get function.  In ITK we routinely
provide a Get function, but the one that spelled similar to the
itkSetObjectMacro is the itkGetObjectMacro which is
not what is normally desired.  Normally one should use the
itkGetConstObjectMacro to preserve encapsulation, and only use
itkGetObjectMacro in cases where it is necessary to allow
changes the class outside that classes member functions (i.e. for
performance reasons.

Allow explicit request for modifiable Get*

When using a Get* member function to get access to
and internal member variable, the standard itkGetObjectMacro
returned a pointer that was modifiable.  This allow breaking
the rule of encapsulation where member variables state should
only be set through class member functions.  By doing this,
it is easy to change the internal state of a ProcessObject
without changing that ProcessObjects Modified status.

A const version of the itkGetConstObjectMacro is complemented
by a itkGetModifiableObjectMacro with a different name to
explicitly convey that the returned object could be modified
without following standard ITK symantic of updating the
ProcessObject Modified status.

The itkGetModifiableObjectMacro provides the same behavior as
the historical itkGetObjectMacro (i.e. it returns a non-const
pointer to the internal member variable).  The problem with
using itkGetObjectMacro and itkGetConstObjectMacro is that
the non-const version almost always took precidence, even
when the const version would suffice to accomplish the needed
task.

This patch set has completely removed the historical itkGetObjectMacro
to determine the portability of the current code that only has
itkGetConstObjectMacro and itkGetModifiableObjectMacro.  The
ubiquitous nature of the itkGetObjectMacro in 3rd party applications
means that we MUST preserve this function for backwards compatibility
for a long forseeable future.  I would propose that an advanced option
be made available to allow disabling this function for those developers
who want to fortify their code with maximal use of const functions
could disable the itkGetObjectMacro and force use of either
itkGetConstObjectMacro or itkGetModifiableObjectMacro.

Change-Id: I8fbdf8cc999c78292ed167b83c253a6b3aded763
Merge topic 'AddGetConstObjectMacro'

08df6af ENH: Get function accessible from const objects
COMP: More fixes to mesh wrapping warnings.

Change-Id: Ie3de1462f2d27a9d1edfb7bda8c208a1ccbce273
COMP: Missing patch for ITK_FUTURE_LEGACY_REMOVE

When : -DCMAKE_CXX_FLAGS:STRING=-DITK_FUTURE_LEGACY_REMOVE
is used the non-const Get##name() functions are not defined,
and use of the GetModifiable##name() must be used.

Change-Id: Id8950c81054bc0b7c54648b13b1425f83499c719
Merge topic 'COMPFixITK_FUTURE_LEGACY_REMOVE'

72aeffa COMP: Missing patch for ITK_FUTURE_LEGACY_REMOVE
BUG: Temporarily disable Python utility tests.

These tests will easily consume all of a system's memory.  Temporarily disable.

Change-Id: I30ee08a90f6dcb9c46a4c13b9c405ae83e4f70e6