Logger support for early exit and debug logging

* Debug logging level

* Early exit before formatting log messages, so that debug messages
  don't cost much

* Setting to make progress logging optional
Exception type with convenient message formatting
endswith() string utility function
PointDbWriter class to tile las files into pieces

PointDbWriter allows large point cloud files to be split apart into
tiles without using much memory or too many file handles.