environs: fixes for Windows

This PR makes some transparent changes to implement filestorage on windows.

We cannot write files with : on the disk so we write everything with a -. This also means that anything that's read from the disk also has to contain dashes.

Depends on https://github.com/juju/utils/pull/45
this can stay as path.Join() can't it?
If any conversion is needed, it's best done in MakeFileURL()