Add windows userdata

This is a work-in-progress branch.

This branch adds userdata support for windows systems.
The only clean way I see of implementing this, is if we define a series of templates for userdata scripts. Those templates could then be fed some context, and that context should be populated by the Render() function based on OS. Right now, its a bunch of sequential script commands added to mostly the same category (with few exceptions).

I can start looking into a somewhat clean way to do this.