Improved Windows paths handling

Using something like substitute(..., '.svn/', '') to strip last
component of path caused a do-nothing operation on Windows, where path
components are separated by '\\'.  This lead to :cd to '.svn' directory,
instead of that one level up.

The fix consist of using fnamemodify(..., ':h:h') in place of
substitute(..., '.svn/', '').
Tighten up whitespace.