Parser: Fix an oops causing [1].size() to not work.
Packages are now entered like all non-*ary trees.

This was done to be consistent with how the ast handles all trees that aren't
binary/unary now.
ast: Unary uses absorb merge for everything. Fixes GH #20.

The problem was that unary wasn't merging in call trees and other uncommon
kinds of trees. Now, an absorbing merge is used to swallow everything, solving
the problem.

Also, fixed merge_absorb to not set ap->active in the event that the active
sent is not actually ap->active.

Test added to sanity.ly to prevent this from happening again.
ast: Some cleanup, and some merge simplification too.