Added File{,Util}::safeWrite function

Added File{,Util}::safeWrite function
This performs write-to-temp -> verify -> rename

    src/util/File.cpp
    src/util/File.h
    src/util/FileUtil.cpp
    src/util/FileUtil.h
    src/util/TestFile.h
    src/util/TestFileUtil.h
Added PropertyFile class for keeping settings

Added PropertyFile class for keeping settings

This uses the Boost.PropertyTree INFO format, though the inner details of this
format dont't matter all too much, as it maps the data 1:1.

INI file format was also considered, (it would be very easy to switch to this as
Boost.PropertyTree supports this as well). However, since the INFO format
can map all that Boost.PropertyTree can, it seems like the best choice.
    src/util/PropertyFile.cpp   (+)
    src/util/PropertyFile.h     (+)
    src/util/TestPropertyFile.h (+)