page: add PAGE_* macro family

A linked list implementation intended to mitigate some performance
bottlenecks associated with said structures: pointer overhead,
lookup speed, allocation overhead, list length, etc.