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 - not a good fit...