Queries return variable assignments

:- query rewrite(X,Y)
(1, {'Y': 'ate', 'X': 'V'})
(1, {'Y': 'caviar', 'X': 'N'})
(1, {'Y': 'spoon', 'X': 'N'})
(1, {'Y': 'the', 'X': 'Det'})
(1, {'Y': 'with', 'X': 'P'})
(1, {'Y': 'a', 'X': 'Det'})
(1, {'Y': 'Papa', 'X': 'NP'})


Added `dict=` (name might changed) and aggregator which stores user variable
assignments. [This is what is used for answering queries like the one above.qq]
merge