Initial checkin
- implemented hex  formatting
- implemented unsigned formatting
Use %$ to add std::string-style strings
use %s to add const char* strings
Updated string formatting
Added float support
Added path::combine variadic template
Changes
- switched native HKEY handling to std::shared_ptr to ensure no resource leaks
- enable (and test) handling of root keys