Re-organize and Finish HashMap

Slightly modified HashMap entry structure for easier implementation.

HashMap now resizes properly and has test cases for resizing.

Memory leaks have been fixed, and test cases have been generated to
guard against future leaks.