[winrt support] Enabling Boost.Thread to be used in the Windows Runtime.

This involves basically 3 changes:
1. Using __declspec(thread) instead of the Tls APIs.
2. Using Windows::System::Threading since Win32 Threading APIs aren't allowed.
3. Updating or replacing some banned APIs like WaitForSingleObject with WaitForSingleObjectEx.
Is there any good reason why we don't use the WinRT implementation here as standard? I assume the non use of __declspec(thread) is because of older MSVCs, but we now have a minimum compiler of I think VS2005? I think VS2013 support has been retired anyway.