- Refactoring & more tests.
 
- Make sure dimensionality is preserved in the c++ functions.
 
- Improve the display of the remaining time estimate during the
simulation.
 
- Update vignettes and docs.
 
- Fix bug in the initialization of the “current” environment which
would always point to the same memory address, instead of a new one for
each object / simulation.
 
- Improve print method for the simulation environment.
 
- Set the current environment as soon as the simulation is
initialized.
 
- Subsequently: make sure that the environment actually has values, as
otherwise 
terra::as.matrix fails. Also update examples
because of that. 
- Safeguard the dispersal function for NA in the inputs.
 
- update Ricker reproduction model. Add handling of negative
reproduction rates, improve handling of boundary conditions. Add version
with Allee effects.
 
- fix bug where traits could be added as references, which in turn
could lead to unpredictable results in combination with the cpp
functions.
 
- allow multiple species to be added in add_species()
 
- improve information printing
 
- automatically generate names for the environment sub-datasets if
none are set. Error if the supplied names are not suitable.
 
- fix out-of-bounds access in calculate_suitability() found by CRAN’s
ASAN / valgrind checks
 
- fix warning for recycled values in example