Updates Span; adds Span support in slicing utils

Updates/improvements to the Span object:
* adds offset attribute
* adds get_offset_span() and offset_indices()
* renames get_index_array() --> indices() to align with slice object
* aligns Span with signature of the slice object by:
** providing indices, start, stop, and step
** providing to_slice and from_slice functions

Adds support for the Span object within the slicing validation and utility functions
Adds ComplexCoverageType.TEMPORAL_INTERLEAVED

Adds ComplexCoverageType.TEMPORAL_INTERLEAVED - this type combines multiple coverages along their temporal axes by interleaving the temporal geometry of the coverages.

Adds test_temporal_interleaved test

Modifies SparseConstantValue to utilize Span.offset
Exposes Span from coverage_model package
Fixes bug with .refresh(); improves test_refresh
Fixes ComplexCoverage mode bug

Fixes bug with mode when loading a ComplexCoverage
Adds test_replace_simplex_with_complex

Adds test_replace_simplex_with_complex - showcases "inserting" a complex coverage between a view and simplex

Overrides test_refresh for ViewCoverage (base version was not a good fit)
Reduces data used in test to increase test speed
Relaxes ComplexCoverage param_dict requirement

If the parameteter_dictionary argument of the ComplexCoverage is None, a new empty ParameterDictionary is used and populated with the parameters from all referenced coverages
Simplifies _dobuild signature
Fixes sparse value bug; adds ComplexCoverage test

Fixes bug when slicing against a SparseConstantValue that is utilizing AbstractParameterValue classes under the hood (as is the case with ComplexCoverage)

Adds test_temporal_aggregation_all_param_types test - to ensure temporal aggregation works with all parameter types
Adds ComplexCoverage.append_reference_coverage()

Adds function 'append_reference_coverage' to ComplexCoverage to allow additional coverages to be added to the ComplexCoverage post-creation.  Ordering of the reference coverages is maintained.

Also adds test_append_reference_coverage
Restricts parameters stored in ComplexCoverage

Only allows storage of ParameterFunctionType parameters within ComplexCoverage
Fixes issue when ref cove is empty or has 1 timestep
Fixes issue with parameter domain in ComplexCoverage
Limits TEMPORAL_INTERLEAVED to <= 2 coverages

Bug with interleaving more than 2 coverages.  Will sort it out, but want to get this merged now…

Updates to test_complex_coverage:
* Adds test_damporal_aggregation_all_param_types
* Makes time a float32
Merge pull request #69 from blazetopher/temporal_interleaved

Temporal interleaved & bug fixes