Delay filename requirement until processOptions

The las writer previously opened up the output stream on writer
construction, which mandated that the options passed to Writer(Options)
needed to include a "filename" option. This patch defers the "filename"
requirement until `processOptions`.

In order to maintain compatibility with existing code, this patch keeps
the Writer(ostream) and Writer(Options, ostream) signatures. This means
that a las Writer created with an ostream will *not* require a
"filename" argument, and will in fact ignore any filename argument when
constructing the ostream. This is consistent with past behavior.

This patch also changes the protected member variable m_streamManager on
Writer from a OutputStreamManager to a unique_ptr<OutputStreamManager>.
This is to support OutputStreamManager construction *after* Writer
construction.
Allow extra command line options for pdal pipeline

This was not previously supported.
Remove spurious options dump

Do'h. [ci skip]
correct/clarify test runner doc
fix various clang warnings
added ptree-to-reST dump support
added --summary, for a less verbose output

just shows num points, WKT, num dims, and the bbox (computed via the
stats filter)
Merge pull request #509 from PDAL/pdal-info-summary

added --summary and --rst
Merge pull request #507 from PDAL/clang-warnings

Fix a bunch o' clang warnings
Merge pull request #506 from gadomski/pipeline-commandline-options

Allow extra command line options for `pdal pipeline`
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
point to filters.ferry in stages doc
put back docs for
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