add PCLVisualizer writer and View kernel

PCLVisualizer writer can be used as an endpoint to spawn a simple
viewer. To use the PCLVisualizer, PCL must be built with
BUILD_visualization=ON and WITH_VTK=ON, and PCL must be enabled within
PDAL.

PDAL_BUNDLE=ON creates the pdal app as application bundle, which is not
explicitly required, but enables some PCL keyboard/mouse interactions in
PCLVisualizer. As reported by Kitware
(http://vtk.1045678.n5.nabble.com/Keyboard-and-mouse-interaction-on-OSX-td5719379.html).

The View kernel allows us to create a simple viewer with only an input
filename, e.g., pdal view input.las.

The writer can also be invoked through existing kernels by passing a
dummy filename with the .pclviz extension. This is a bit of a hack, and
perhaps we should consider adding a "visualize" option that both writes
the requested output format and spawns the viewer.
fix the PCL stubs for PCLVisualizer
add --visualize flag at the Application level that will cause Ground,
PCL, Random, and Translate kernels to spawn a PCLVisualizer after
writing the result to disk
getVisualize should return false if PCLVisualize not available
visualize both input and output
move the visualization code to the Application class

Kernels now call `visualize(*pbSetOut.begin())` to display the output
buffer or `visualize(*pbSetIn.begin(), *pbSetOut.begin())` to display
input and output buffers.

`Random` displays only the output (there is no input buffer), while
`ground`, `pcl`, and `translate` display both input and output buffers.
fix memory issue
Merge pull request #508 from chambbj/PCLVisualizer

add PCLVisualizer writer and View kernel
Merge branch 'master' into issues/482-processOptions

Conflicts:
	src/kernel/Ground.cpp
	src/kernel/PCL.cpp
	src/kernel/Translate.cpp