Use &N for variables in queries

Before we kept the variable as written by the user in the query and a
list of bindings for each query expression. The position of the variable
in the binding list indicated what Entity it mapped to.

Now we replace each variable with &N where N is the position in the
binding list. The normalizer collects all entities in the query and
stores them in a tuple. N will index into this tuple so we can do tuple
indexing to get the entity for a variable.

Closes #53.