Make runCharmHook windows compatible

On windows, hooks (live every other executable) needs an extension. This branch adds support for running powershell and batch scripts as hooks. For powershell, we need to pass in exta arguments to exec.Command()