C++11

Reference #1401.

Change much stuff to use new library.
This changes the thread behavior, have you checked all possible consequences?