redo #include <tr1/memory> vs #include <memory> logic

<tr1/memory> is for libstdc++, <memory> is for libc++.
On OS X clang can link against either of them depending on the passed options,
so checking the compiler doesn't actually work.
Neither does work checking the __cplusplus macros
because it depends only on the presence of -std=c++11 switch,
so it may be not >= 201103L but we will still have to use <memory> with libc++.
There are other C++ runtime libraries out there,
but let's hope we handle all practical cases ATM.