Bump Allocator
This is an implementation of a simple bump allocator. It maintains a reference to a handle to the underlying storage (at present, an mmap-ed file) and manages its size as a response to allocation and deallocation requests. Namely, when an allocation request is made, it extends the underlying file and returns a pointer to the region of memory that was just appended to the file.
In the future, this allocator's logic will be platform dependent, and in the Twizzler variant will be one of the components interacting with the pager to satisfy memory requests on behalf of applications accessing object data.