Refactor ast internal structure to store annotation more efficiently. (#1649)
Refactor ast internal structure to store annotation more efficiently. (#1649)

Now annotation and type are both stored, while only using one pointer
(and one flag) rather than two pointers on the ast_t struct.

This saves size in allocations, and particularly puts us in a smaller
size class when it comes to the next-power-of-two size that dictates
which memory pool we allocate from.
Theodus/ponyc,boemmels/ponyc,sgebbie/ponyc,Perelandric/ponyc,kulibali/ponyc,dipinhora/ponyc,ponylang/ponyc,Perelandric/ponyc,cquinn/ponyc,jemc/ponyc,cquinn/ponyc,boemmels/ponyc,boemmels/ponyc,Perelandric/ponyc,Theodus/ponyc,mkfifo/ponyc,kulibali/ponyc,sgebbie/ponyc,jemc/ponyc,mkfifo/ponyc,boemmels/ponyc,CausalityLtd/ponyc,sgebbie/ponyc,cquinn/ponyc,Perelandric/ponyc,Theodus/ponyc,mkfifo/ponyc,Perelandric/ponyc,cquinn/ponyc,mkfifo/ponyc,dipinhora/ponyc,Praetonus/ponyc,ponylang/ponyc,mkfifo/ponyc,Praetonus/ponyc,sgebbie/ponyc,CausalityLtd/ponyc,Praetonus/ponyc,dipinhora/ponyc,jemc/ponyc,kulibali/ponyc,Theodus/ponyc,boemmels/ponyc,Theodus/ponyc,kulibali/ponyc,Praetonus/ponyc,ponylang/ponyc,CausalityLtd/ponyc,sgebbie/ponyc