win32: use ReplaceFile() instead of rename()

The Windows implementation of rename() fails if the new filename
already exists. When processing the input file in place, unifdef
uses ReplaceFile() instead.
travis-ci: import travis yaml controller

.travis.yml is used for automatic builds on travis build farm
(https://travis-ci.org/) if the travis service hook is enabled for the
repo on github.

This inital yaml controller will run 3 different compilers (gcc, clang,
mingw). Mingw builds will use wine for running the test suite, which
currently fails for some tests to be fixed (or skipped) later.

Builds are enabled for two branches "master" and "tmp" where the tmp
branch may be used to try something out whithout polluting the master
history (specially when changing/testing .travis.yml itself).