Clean up ref-counting

- Provide a RAII class (```hsRef```) for managing ```hsRefCnt```-derived objects
- Re-architect vault node storage to use ```hsRef```; +4 to Sanity
- Merge ```hsRefCnt``` with ```hsAtomicRefCnt``` - the former is now atomic
- Disallow ```hsRefCnt```-derived objects from copying their ref count with the default copy/assignment overloads (some classes were doing this previously)
- Provide a simple leak checker for ```hsRefCnt```-derived objects, to help ensure we're moving the right direction
This couldn't be a ranged based for?