regression: make cygwin work again #99

Fix some issues affecting cygwin:

* the -m (mode) switch to mkdir for the tmp directory is not needed when
  we are using the user's local windows TEMP and it doesn't work either,
  it also seems to not work when TEMP=/tmp, at least on my VM. Also in
  the case of TEMP=/tmp, we need to get the cygpath -w version for
  windows gvim, and pass it through tr '\\' /

* now that the file is opened with a vim command, it is necessary to
  filter the output of cygpath -w through tr '\\' / because backslashes
  get eaten and the filename no longer makes sense

* tput cols >file 2>/dev/null no longer works correctly to read the
  number of columns, have to get rid of the 2>/dev/null and hope we
  don't run into tput errors. This is important for man pages in gvim
  and passthrough mode.

TODO:

* the AnsiEsc autocommands do not run in windows gvim, I can't figure
  out why right now. AnsiEsc is loaded correctly. Will try to fix
  shortly.

Improvements:

* Delete the tmp dir after vim or gvim invocation, in the case of gvim,
  instead of backgrounding gvim, background a subshell with gvim and the
  rm -rf "$tmp" command at the end. This is much simpler and less error
  prone.

* Fix trailing whitespace.