An arena is a data structure that makes memory management a fair bit simpler.
This is an arena type that doesn't do anything fancy; it simply maintains a
linked list of blocks from which it doles out memory. It's probably not even
that efficient!
Future directions for this work include adding more options and implementation details:
* custom allocators
* object destructors
* strcpy instead of just strncpy support
* large-block allocation support
* block data structure that is more concurrency safe