Polygon: Merging trunk into the release branch.

git-svn-id: http://svn.boost.org/svn/boost/branches/release@86009 b8fc166d-592f-0410-95f2-cb63ce0dd405
Thread: ensure that the thread is joined on the future destructor created by future<T>::then().

git-svn-id: http://svn.boost.org/svn/boost/branches/release@86010 b8fc166d-592f-0410-95f2-cb63ce0dd405
Merged changes from trunk.

git-svn-id: http://svn.boost.org/svn/boost/branches/release@86016 b8fc166d-592f-0410-95f2-cb63ce0dd405