Merge pull request #1 from stuarteberg/master

Fixes for building on mac.
cmake: OR operator seems to be case-sensitive on my platform
fix include guard
BW::Array: implement functions useful for lazyflow's labeling op.

- optionally delete empty blocks
- optionally keep track of minimum/maximum data value seen
- optionally use compression for blocks
BW::Array: separate declarations/definitions for readability
improve python bindings
fix class names in README.md
BA::Array: Optionally keep track of sparse coordinate lists
unbreak build
attempt to fix python module file name on mac
execute (stub) python unittest on 'make test'
begin python unittest
refactor read/write to blocked array; extern templates

- read/write operations in BA::Array have been refactored to
  use a common iterator which computes the needed Roi's
- optionally, a library can be built with the most commond
  data types (BUILD_COMMON_DTYPE_LIBRARY cmake option).
  However, this does not reduce compile times. To be
  investigated.
- Implement applyRelabeling() function
- some cleanup
BW::CompressedArray: separate definition/implementation
BA::Array: implement writeSubarrayNonzero

Usecase: Using BA::Array as a replacement for lazyflow's
OpSparseLabelArray
extern templates: compile CompressedArray into library

Also: attempt to fix travis build
BA::Array: operator[] for single voxel access
implement single-pixel write

The write operations need a refactoring
(move common post-write tasks into functions)
compute blockwise region features
Clean up debug messages