Span and Memory Support
Changelog:
* Improve performance of ValueListPool by removing buffer checks. Now is required to avoid parameterless constructor for ValueListPool.
* Add support for span and memory
* Add method AddRange
ListPool is the general use of the implementation. ValueListPool is the zero heap allocations implementation. Note, because it is a struct it is passed by value, not by reference.