Adds generic callback functionality with their specializations using c++ templates.
fixes a warning in rr-crossing.
Starts using callback specializations.
adds gencallback to gitignore.
Adds pointer-based callbacks and the ability to register a callback for a parent class's function (assuming the pointers are convertible).