Merge Request #3 - August 2014 bis

AnyFunction was documented and a call method was added for easier use.

Some static initialization races were fixed in the type system, it should fix
a lot of Choregraphe crashes on Windows.

Session::loadService now accepts extra arguments to give to the factory (if,
in addition to all of the arguments, the factory accepts a qi::Session as a
first argument, it will be given to it).

qi/qi.hpp
is now deprecated. The only function it contained was
qi::unicodeFacet
which was useful when used with
boost::path
. If you
really need it, this function was moved to
qi/path.hpp
. You should also
consider using
qi::Path
instead.

qi::Atomic
is now implemented as a wrapper over
boost::atomic
and thus
supports other types than
int
.

qi::ScopedThreadName
allow to set the current thread name in a RAII fashion

The SDK paths returned by libqi (in all
qi::path
methods, like
qi::path::findLib
) are no longer deduced from the running executable
(
/proc/self/exe
on Linux) but from
argv[0]. This change
should
not break existing code since usually the
executable is the same as argv[0].

However, this implies changes for Python in case of deploys. Currently, the
returned paths were always taken from
/usr
since the executable was
/usr/bin/python2.7
. They will now be deduced relatively to the python script
if it is located in a SDK, with a fallback to the old behavior. This is useful
for dynamic module loading.