Added better clang support

Aurora would not compile on Linux with Clang, due to Clang defining several GNU macros and reporting an outdated GCC version.
This PR fixes this by prioritizing C++11 support checking for clang.

Another issue in Aurora was `EmplaceTag` being an incomplete type in `include/Aurora/SmartPtr/MakeCopied.hpp`.
This PR addressed that issue by creating a header, `include/Aurora/SmartPtr/Detail/EmplaceTag.hpp`, and including that header in the two problematic files.