Flow schema through query builder. Fix #129.

New and improved autocomplete on property fields. Takes into account previous operations (aggregations change the schema).
I will add more comments, but `index` is the index of the step in the query. `$scope.schemas[$scope.index]`is the input to that step (`schemaIn`), and `$scope.schemas[$scope.index + 1]` is the output (`schemaOut` but I realized I don't call it that any more). So the output for step 0 is the input to step 1. A change anywhere flows through the query.