- rename freelist to freechain
- remove free_count in freechain
- replace free_bump with a extend handle
- add a basic test case for freechain