tools/nycr: Make ParseNode return a std::unique_ptr, simplifying memory management
Eliminate a memory leak
tools/nycr: Make ParseStr return a unique_ptr for better / cleaner memory management.

Also, update all users to be happy with the change
base/iter.h: Use std::unique_ptr
base/safe_global.h: Use std::unique_ptr
Make the arena a member of TCoreVector.

This changes the memory layout somewhat. However, given how the
lifetime was managed, this is the correct behavior so long as the
alternate layout is acceptable.
orly/code_gen/package.*: Use std::unique_ptr
orly/code_gen/scope.*: Use std::unique_ptr
base/cmd: Use std::unique_ptr
Remove helpers to discourage using raw pointers and iterating over to delete.

Store std::unique_ptrs instead. Also, no one used the helpers...
Update README.md
Update README.md
Merge pull request #9 from cmaloney/unique_ptr

std::unique_ptr
Use C++1y / c++14
Switch to standardized noreturn attribute
Use c++11 alignas/max_align_t instead of GCC non-standard attributes.
Remove DECLTYPE_AUTO

Replaced with either just auto return type deduction or decltype(auto)
Propogate the attributes in <base/layout.h> around the codebase

They are trivial / simple replacement macros, so just use them directly
FIXUP: noreturn
Move to std::make_unique