convert core data structures from arrays to linked-lists

This is a first step toward dynamic relocation support, which, in turn, should allow patching of module code.