Separate rewriting the tree for aggregation pushing
from compiling the projection op.

Just keeping things tidy.
No longer return Relation objects as the result of
a compilation step, now a simple iterator will do.
Moved NullAdapter to it's own module under
splicer.adapters.

Also removed NullRelation as it's no longer needed.