First dirty implementation
Cleanup, and began replacing usages of __thread by our templatized TLS implementation.
Soem refactoring + threaded coroutines are now a compile-time option(THREADED_COROUTINES=1).
Merge branch 'next' into daniel_755

Conflicts:
	src/arch/runtime/coroutines.cc
	src/thread_stack_pcs.cc
Made TLS storage accessors not inline
Wrap access to errno
Use custom TLS in uuid generation (a bit slower, but safe)
Simplified custom TLS. Might not work on ICC anymore, I'm not sure (but guess it should).
Converted thread_pool TLS variables to using safe accessors.
Removed a comment which doesn't make much sense.
Fixes compilation issue on GCC 4.6
Added a TODO comment
Just some missing includes in coro_profiler.hpp. Completely unrelated.
Added documentation for threaded context switching.
Merge branch 'next' into daniel_755
Cache value of cglobals when possible to improve performance.
Remove unused header
It actually turned out that these changes didn't make a significant difference.

Revert "Cache value of cglobals when possible to improve performance."

This reverts commit 64bb4732b4609cd9790753588b8970bf0c30dbd5.
Redundant NOINLINE
Missing initialization of TLS variable (relevant in debug mode)