Add windows userdata

This is a work-in-progress branch.

This branch adds userdata support for windows systems.
yeah, all these "win" methods are smelly -- please put ubuntu/win stuff on separate types.