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'