C++: support modern standards like C++11 / C++14 / C++17
Following a discussion in #209, there seems to be some interest in developing a C++ target that will work with all the might options that modern C++ offers us, like `std::unique_ptr`, `std::shared_ptr`, `std::move`, removing direct invocations of `new` and `delete`, allocating all the stuff mostly on stack instead of on heap, etc, etc.

I invite everyone interested in participating in discussion and getting a solid plan ready, what exactly should change, how declarations, invocations, object creation & destruction, usage, etc, should look like.

Cc @scottmsilver @JaapAap