nycr: Make the AST managed by std::unique_ptrs

Adds proper destruction on error in the generated parser (Specifying %destructor)
Fixes a periodic crash when deleting CST nodes (The nodes would get deleted twice...)
Make cst_utils.test compile with unique_ptr AST
nycr: Pass AST between parser and wrapper as parameter rather than global.
Make ncyr buildable with starsha
additional posix_memalign cleanup
removed unnecessary try-catch blocks, added MemAlignedAllocZeroInitialized
making TBlock a trivial type
removing unnecessary dtors and moving more objects to use RAII
Merge pull request #75 from cdacamar/posix_memalign-cleanup

additional posix_memalign cleanup
Merge pull request #74 from cmaloney/orly_client_segfault

Fix ocassional orly_client segfault
orly/pacakage/manager: Isolate package pre install step properly

Previously we would tell via callback that a package install succeeded
even if we then threw when loading the next package. This made it so
there was no possible way to rollback / you could end up with half
installed packages.
pckg -> pkg
package/manager: Make the package manager report to the pre_install steps if it's a new package version

New package version is true if it's an upgrade or new install of a package.

Fixes #70 as well.

NOTE: This is very fragile. If a user installs two independent compiles of the same package all the index id mapping stuff will blow up.
orly/package/manager: Disable reinstalling same version of a package