Don't check for libdl if we are going to use dlfcn.c
Try to make dlfcn work for mingw32.
Remove the symlinks -- they will be used incorrectly on non-mingw builds.
Use dlfcn-win32 on windows.
Fix use of M_PI for e.g. mingw.
Guard dlfcn.h header with extern "C"
Always mention std::isnan instead of just isnan to be portable.
Make remove_element return index of last element removed.
Implement tracking of child / parent contexts.
Add new function replace_element( ) to util.H
Delete intermediate tokens with only 1 child.

This avoids building up long chains of useless tokens.
Allow changes in non-terminal contexts by switching to a copy first.
Split computation_record out of graph_register.H
Add argument to insert null regs at startup.
Add a garbage collection callback to the pool type.
Remove unused code Fun_normalize( ).
Add computation_record::source.
Add a reg::clear().
Add function reg::check_cleared().
Split clearing of regs and computation_record's.