fix(util/thread): add missing declaration when compiling with Boost

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(util/thread): add LEAN_THREAD_PTR macro, it uses boost::thread_specific_ptr instead of thread_local keyword when we compile with Boost

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(*): replace LEAN_THREAD_LOCAL with MK_THREAD_LOCAL_GET, the new macro uses the Boost thread_local_ptr instead of 'thread_local' directive

Motivation: clang++ on OSX does not support 'thread_local'.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(util/thread): add custom MK_THREAD_LOCAL_GET macros for when LEAN_MULTI_THREAD is not defined

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(CMakeLists): use Boost_LIBRARIES

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(util/thread): add simpler MK_THREAD_LOCAL_GET macro for when BOOST=OFF and MULTI_THREAD=ON

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(CMakeLists): hide compilation warnings due to Boost when using g++ on OSX

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(*): minimize dependency on thread local storage, simplify MK_THREAD_LOCAL_GET

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
doc(cmake/osx10.8): add note regarding multi-thread support on OSX

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(util/memory): remove get_thread_allocated_memory, it used thread_local

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(tests/util): disable some tests that do not compile on OSX + Boost + MULTI_THREAD
fix(CMakeLists): remove -pthread flag when compiling using Boost on OSX

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(tests/util/memory): remove reference to deleted function

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>