Support setting spatialite module name via options #539
Use read instead of get for strings to avoid problems with embedded
newlines.
use cxxabi ifndef windows
move consts to anonymous namespace rather than static member vars
move MAX_DATA_SIZE to anonymous namespace too
another reference to MAX_DATA_SIZE
Merge pull request #543 from PDAL/issues/540-demangler-windows-test

use cxxabi ifndef windows, closes #540
Merge pull request #544 from PDAL/issues/541-static-const-init

move consts to anonymous namespace rather than static member vars, closes #541
Merge pull request #545 from PDAL/issues/542-numeric-limits-const

closes #542
will not even try to visualize if PDAL_HAVE_PCL_VISUALIZATION not present
oops, still need the guard for now
check if visualization requested in Sort and Random as well
Clean up zlib's cmake logic

Previously, we still only linked against zlib if the cmake variable
WITH_ZLIB was true, but now that zlib is a required dependency, we
should always link against its libraries.

Additionally, use the REQUIRED flag for the zlib find_package.
Merge pull request #546 from gadomski/cmake-zlib

Clean up cmake's zlib logic
Merge pull request #539 from PDAL/issues/539-spatialite-module-name

Allow sqlite driver to specify spatialite module name
Merge pull request #538 from PDAL/remove-cannot-visualize-error

will not even try to visualize if PDAL_HAVE_PCL_VISUALIZATION not present
Isolate plugins and their dependencies, starting with PCL. Create Kernel
class for kernel plugins.

    * A plugins folder has been created for PCL (and other) plugins. All
      plugins are now built via the existing plugin framework (i.e., as
      shared libs that are registered at runtime). Plugins will link
      against PDAL, but PDAL can be built independently of any plugin
      dependencies.

    * References to PDAL_HAVE_PCL have generally been removed, as
      PCL-dependent code should only be encountered within the PCL
      plugin directory, and only after PCL has been detected. Within
      PDAL, prior checks for PDAL_HAVE_PCL have been replaced by queries
      of getFilterCreator (also Reader, Writer, Kernel), which has been
      made public in StageFactory. These sections of code are only
      encountered when plugins have been determined to be present at
      runtime.

Remaining todos (these can be addressed post-merge)...

    * Visualization option only displays output buffer for now.
      Displaying the input and output buffers would force a PCL
      requirement on PDAL. Still need to think through how to pass
      multiple buffers to the existing PCLVisualizer driver (writers
      typically only have one buffer).

    * PCL unit tests pass with a warning if PCL plugins are not
      installed - though we should still move PCL tests to the plugin
      folder.

Other miscellaneous, but noteworthy changes include...

    * In FileUtils and StageFactory, assume that if the filename starts
      with http, we are passing a Greyhound url. This is independent of
      the plugins changes, but allows us to import data from Greyhound.

    * Remove stubs.

    * Remove Application class, it is now part of Kernel.

    * VoxelGrid removed from decimation filter, now called via PCLBlock
      (if available) in Translate kernel.

    * Unit tests binpath updated for APP_BUNDLE builds.

    * Add MovingLeastSquares to PCL pipeline and Smooth kernel.

    * Disable NormalEstimation and ConditionalRemoval in PCL pipeline
      (allows us to stick with POINT_XYZ types).

    * Remove PCL from getVersionString.

    * Remove references to USE_PDAL_PLUGIN_PCD.
addressing abell's comments
include tweak #532
port over visualization fix from master