Fix warnings about redefining a defined macro

The warnings appear when a dependent project (e.g. Boost.Log tests and examples) builds with link=shared and defines BOOST_ALL_DYN_LINK macro. In this case BOOST_THREAD_USE_DLL is defined by both thread/build/Jamfile.v2 and boost/thread/detail/config.hpp. This commit makes sure that doesn't happen.
Merge pull request #15 from Lastique/patch-2

Fix warnings about redefining a defined macro
Added nested type op_status.
Try to fix phisical_concurrency on PowerPC arch.
fall back to harware concurrency when physical concurrency doesn't works.
Merge branch 'develop'
protect the use of && when BOOST_NO_CXX11_RVALUE_REFERENCES is defined.
Restore breaking change.
don't close the queue when an exception is throw, don't return empty on wait_pull_pull_front.
don't close the queue when an exception is throw, don't return empty on wait_pull_pull_front.
Fix isse on sync_bounded_queue::wait_push_front and add tests.
disable traces.
fix wait_pull_front issue introduced in previous commit and add more tests.
Merge branch 'develop'
Merge pull request #2 from boostorg/master

Merging upstream commits