Switch to empty function for HR_UNUSED.

This method should be compatible with pretty much all compilers (it
definitely works for GCC, Clang, and MSVC).
Disable warnings from system/Boost headers at /W4.

This cleans up the warning spam from Boost and the MSVC standard library
so we can focus on the warnings from our own code.
Explicitly define ctor and disable assignment.
Fix base class visibility.
Reformat.
Explicitly disable assignment.