Merge from trunk

[SVN r52935]
Merge some detail changes.

 - [53670] Avoid C style casts.
 - [55604] Fix #3346 boost/detail/scoped_enum_emulation.hpp enum_t conflict
   with Unix rpc/types.h
 - Don't foward declare containers when using gcc's parallel library and add a
   macro to disable forward declaration. Fixes #3866.

[SVN r59679]
Merged boost.thread from trunk

[SVN r78543]
When I merged the Boost.ScopedEnum changes to release, I missed a file.

[SVN r82055]
Merge branch 'develop'