initial version of dynamich library hot-loading

This version requires a counter and timeout period to enable
reloading.

The dynamic library can be compiled using:
gcc -Wall -fPIC -c library.c
gcc -shared liblibrary.so -o library.o

The main program can be compiled using:
gcc main.c -o main

Once the program is running the library can be changed and
recompiled. The following changes will be applied once the shared
library is reloaded by the main program. The changed functions within
the library must adhere to an API that the main program knows about.
add gitignore that ignores c intermediate files