What's Changed
* adds processor for `df.get(xxx)` notation
* adds streaming data
* logit models are maskable (only a subset of rows are evaluated)
* when converting dataframe to dataset, duplicate column names are generally not allowed, but if column data is identical then the duplicate column is dropped (this compatibility comes at a cost of some performance and should be avoided if possible)
* code now emits `CacheMissWarning` when compile is triggered, this is totally normal and expected on the first pass to compile things, but can give useful information when a function is unexpectedly recompiled (e.g. due to an accidental difference in input dtypes)
* intermediate functions are no longer cached, reducing the cache footprint on disk with no impact on performance
* ast processing now completes a first pass on each expression with each subspace before cascading down to fallback subspaces, this permits more complex expressions to complete
* implements nested logit, `mnl_draws` function name changed to `logit_draw`.
* no longer tested for compatibility with Python 3.7 (google colab updated to 3.8)
**Full Changelog**: https://github.com/ActivitySim/sharrow/compare/v2.4.0...v2.5.0