Remove shutdown hook (again) - it isn't consistent, and most of the shutdown timing issues have been resolved with appropriate locks.  Just make sure to call cleanup() when you are done.
Use an actual real-life mutex instead of a pointer to it.
I am not testing my changes against peer stuff - so I am removing it from my fork.
Jace has gone on a diet.  Slim down and remove conditional stuff that we aren't using because we are controlling the compiler using oat.
Fix exception handling
Get rid of daemon enum
Fix still another cleanup hang
Clean up refs once deleted