----------------
- Initial project structure created.
- Copied graphs.py, tokenize.py, wrappers.py, results.py, interfaces.py,
and relevant tests and factories from raster-store.
- Wrappers are renamed into 'geoblocks', which are al subclasses of `Block`. The
wrappers were restructured into submodules core, raster, geometry, and interfaces.
- The new geoblocks.Block baseclass now provides the infrastructure for
a) describing a relational block graph and b) generating compute graphs from a
request for usage in parallelized computations.
- Each element in a relational block graph or compute graph is hashed using the
`tokenize` module from `dask` which is able to generate unique and deterministic
tokens (hashes).
- Blocks are saved to a new json format (version 2).
- Every block supports the attributes `period`, `timedelta`, `extent`,
`dtype`, `fillvalue`, `geometry`, and `geo_transform`.
- The `check` method is implemented on every block and refreshes the
primitives (`stores.Store` / `results.Grid`).
- `geoblocks.raster.sources.RasterStoreSource` should now be wrapped around a
`raster_store.stores.Store` in order to include it as a datasource inside a graph.
- Reformatted the code using black code formatter.
- Implemented `GroupTemporal` as replacement for multi-store Lizard objects.
- Adapted `GeoInterface` to mimic now deprecated lizard_nxt.raster.Raster.
- Fixed issue with ciso8601 2.*
- Bumped raster-store dependency to 4.0.0.