fixed infinite loop in mac address code

plus an UpdateInfo struct
added logging in several spots too.
added filepath class

A bunch of cleanups as well
fix createdirectory bug

also json value need as_string()