NWN: Add dummy creature constructor
NWN: Use an abstract class for the chargenerator

The purpose of this class is to:

- Ensure every chargen GUI's has a reset method,
- Have an easy acces to the character user choices through a static
  struct.

As some choices like race/class change directly others (feats/skills),
it is easier to centralized them.
COMMON: TransformationMatrix changes

TransformationMatrix rotation now accepts an
option to normalise input axis vectors.
TransformationMatrix::transpose is now getTranspose.
TransformationMatrix::getPosition is now working.
TransformationMatrix::getXAxis is now working.
COMMON: Add FilePath::createDirectories()
COMMON: Add FilePath::getConfigDirectory()
COMMON: Use FilePath::getConfigDirectory() in ConfigMan

Note that with change, the location of the config file has
changed for both Mac OS X and GNU/Linux (and other Unixoids).

- On GNU/Linux, the file is now $XDG_CONFIG_HOME/xoreos/xoreos.conf
  (previously: $XDG_CONFIG_HOME/.xoreosrc)
- On Mac OS X, the file is now $HOME/Library/Preferences/xoreos/xoreos.conf
  (previously: $HOME/Library/Preferences/xoreos\ Preferences)
COMMON: Add FilePath::getUserDataDirectory()

This is where user data like a default log or game saves
will be put in the future.

- On GNU/Linux, this will evaluate to $XDG_DATA_HOME/xoreos/
- On Mac OS X, this will evaluate to $HOME/Library/Application\ Support/xoreos/
- On Windows, this will be the same place as getConfigDirectory()
MAIN: Open log file after target has been identified

So that each target can define its own log file.
COMMON: Add DebugManager::getDefaultLogFile()

Returns the path of where the log file is written to by default.
MAIN: Always open a log file by default

Override by setting logfile to an empty string or
setting nologfile to true.
MAIN: Document --nologfile
COMMON: Add FilePath::getDirectory()

Return a path's directory.
Example: "/path/to/file.ext" -> "/path/to/"
COMMON: Only create the log path when the log is opened
COMMON: Only create the config path when the config is written
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