Refact Nodes

Now you have to pass around fulltext -- each node doesn't keep a
reference.

Children are tuples.

Simple Node type has been replaced by a crazy heirarchy. This is the
Julia way to do things, I think. It takes a lot of typing.

test_nodes won't pass again for a while (nor test_*) but there's a
few inline tests in Nodes.jl

The rest is completely fucked for now.
segfault julia

run: test_expressions.jl and soon you will be segfault
Back to working benchmarks

After all that, 300ms (190ms with gc_disable), 140 MB which is about where I started. Maybe a little worse.