BUILD: Bump minimum Boost version to 1.48.0

Required for boost::filesystem::canonical() which
we will use in the future.
COMMON: Remove compatibility for BOOST_FILESYSTEM_VERSION == 2

BOOST_FILESYSTEM_VERSION == 2 is not supported by Boost 1.48
anymore anyway.
COMMON: Remove Boost.Filesystem types from public API

Always use UString for paths instead.
COMMON: Make FilePath::getSubDirectories() return false on error
COMMON: Document FilePath::getSubDirectories()
COMMON: Document FilePath::createDirectories() further
COMMON: Fix typo in comment

"currect" -> "current"
COMMON: Add FilePath::getHomeDirectory()
COMMON: Use getHomeDirectory() in getConfigDirectory()
COMMON: Use getHomeDirectory() in getUserDataDirectory()
COMMON: Use boost::filesystem::path::is_absolute() in FilePath::isAbsolute()
COMMON: Rewrite absolutize/relativize/normalize/canonicalize of paths

normalize() now works quite similar to boost::filesystem::canonical().
However, we reimplement it so that it also works on paths that don't
exist (as far as that's possible).

This brings the following improvements:
- ~ is resolved to the user's home directory
- . and .. are probably resolved
- symlinks are resolved