Use strdup over calloc -> strcpy
Refactoring test framework

Using source file for implementation. Refactoring of Makefile for easier building.
No longer explicitly destroying objects at main exit

For modern operating systems, it is faster and cleaner to let the OS
clean up for you.