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...
Merge pull request #9 from cmaloney/unique_ptr

std::unique_ptr