Move internal Django structure walking into separate generators.
Rework kwarg and query translation so they accept deep query strings