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]
Eliminate compiler warnings.
sanitize [ and ] in metadata names
correct/clarify test runner doc
fix various clang warnings
put back PointSourceId setting option for drivers.oci.reader
convertAndSet doesn't work on int8_t/uint8_t
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 branch 'pdal-info-summary' into pcl-tests
Merge branch 'clang-warnings' into pcl-tests
import PCL pipeline files from the PCL repo
tighten up the namespaces
remove debugging
Add support for BPF version 1 and 2.

Conflicts:
	include/pdal/drivers/bpf/BpfHeader.hpp
	src/drivers/bpf/BpfReader.cpp
	src/drivers/bpf/BpfSeqIterator.cpp
cleanups on PCL tutorial

moved files into pal dir; cleanups on tutorial text; made examples
work; added examples as unit tests
Use a different EPSG reference for UTM north zones.
cleaned up PCL docs

cleaned up filter docs, brought over json spec file from PCL repo