Fixes bug and renames slice_len to slice_shape

Renames utils.slice_len to utils.slice_shape

Addresses integer math corner-case resulting in inaccurate lengths in certain cases (i.e. slice(4,9,4) should have length 2)
Initial commit of multi dimensional trials
Improvements to value_slice calculation
More improvements to value_slice/brick_slice

Getting very close to the proper solution.  Most slices work, only one (known) edge case remaining to be sorted out.
Finishes adjustments to value_slice

Appears to be fully functional for any slicing.  Requires MUCH more extensive testing (with differing slices, brick sizes, total domain sizes, etc).  Preliminary tests look promising.
Downgrades logging to debug level
Fixes list slicing; cleans up functions

Addresses last few issues, particularly with list-based slicing
Cleanup of functions & logging
Implements get_values function
Adds dimension property to rtree
Adds bricking_utils module
Switches to using bricking_utils functions
Moves more functions to bricking_utils
Tweaks brick_slice for failing step case

Fixes to step adjustment logic
Adds option for HDF persistence

Adds HDF persistence following the same general pattern as the full coverage model & persistence layer
Adds testing for 1D and 3D cases
Improves console output for trials