fix for #109 with unit test
fix for #113
fixed problem with older pickled detectors, and a real bug with
improved singleton z handling, removed possible deadlock
more abstraction to acommodate lazy CC
Merge branch 'master' into OpLabelVolume-optimization
Merge branch 'master' into OpLabelVolume-optimization
make sure the 'right' blockedarray version is used
make sure the 'right' blockedarray version is used (for tests)
roi.py: Fixed doctests, minor cleanups.
OpBlockedSparseLabelArray: Don't set the entire image dirty when a label is deleted.  Mark each block with a separate dirty notification.
OpFeatureMatrixCache: Blocks with no labels are not dirty once they've been read.
tests: Fixed typo in assertion message.
OpCompressedCache: Ensure that chunkshape is always smaller than the blockshape, even for edge blocks (which are smaller than the other blocks).
Added OpCompressedUserLabelArray as a drop-in replacement for OpBlockedSparseLabelArray (except for some outputs) and test (based on a modified version of the OpBlockedSparseLabelArray test)
OpFeatureMatrixCache: If there are no labels and therefore no features, return a 0-length matrix with the correct number of columns.
Merge branch 'compressed-user-labels'
OpDenseLabelArray: Allow MetaInput to have multiple channels, and force output shape to have 1 channel.
tests: Dvid tests fixed to actually run on windows instead of just skipping them.
submodules: Updated dvidclient