Implement ultra-primitive first-fit memory allocator

* does not actually manage memory, only addresses
* for use in pe local memories
1 job for pe-local-memories in 3 minutes and 36 seconds (queued for 2 seconds)