Fix incorrect output of toSiteRoot on Windows.

toSiteRoot uses splitPath, joinPath, and takeDirectory from the
System.FilePath module. On Windows systems, the implementation of
joinPath will build up a path using the Windows path separator "\\".

We don't want this behavior since the paths we are working with
are always URLs, so we force POSIX behavior for System.FilePath.
Merge pull request #179 from saeidw/windows-site-root

Fix incorrect output of toSiteRoot on Windows.