Build and test bpf without zlib

zlib support was baked into parts of the bpf driver, via the
`BpfSeqIterator::inflate` method and the logic in
`BpfSeqIterator::readBlock`. This patch only defines `inflate` if we
have zlib support, throws a runtime error if the bpf iterator tries to
read a block without zlib, and disables zlib tests if there's no zlib
support.

I'm not sure that my treatment of `readBlock` is correct, as for all I
know there could be a way to read a block without zlib. However, since I
don't know better, I kept things dumb and just threw an error if we
don't have zlib. @abellgithub can we do better?
Guard tests that require srs support

Add `#ifdef PDAL_SRS_ENABLED` around tests that require SRS support, and
in once case split out the srs-dependent parts of a test into a seperate
(guarded) test.

In the stats filter test, ther could be potential for simplifying those
the guarded tests to they don't depend on srs functionality. However,
that would be work for another commit.
Exclude colorization filter if we don't have GDAL

It doesn't make much sense to overlay a GDAL raster without GDAL. This
patch also reorganizes the GDAL files in src/CMakeLists.txt.
Conditionally exclude PCL

All the PCL code is now turned off if WITH_PCL == FALSE. We also remove
the command-line help text that mentions PCL.
Conditionally exclude python-dependent filters

Programmable and Predicate.
Merge pull request #374 from gadomski/build-without-optional-components

Build without optional components