Add windows userdata

This is a work-in-progress branch.

This branch adds userdata support for windows systems.
yeah, this block feels like it would be cleaner as:

    renderer, err := getRenderer(mcfg.Series)
    if err != nil {
        return nil, err
    }
    return renderer.Render(cloudcfg)