Dynamic record manipulation.

Reduce duplication in AbstractDynamicStore.
Extract DynamicRecordAllocator into its own file.
Introduce test for ExistingThenNewRecordAllocator.