add `interpretPaths` to complier and its tests.

12 tests failing
6 “The expression '…' is ambiguous and might refer to any of the tables …”
6 “is Right but” wrong paths
Only fail if multiple relations match the name.

Previously, just the existence of multiple relations caused an ambiguous reference error.

Still 12 failures, now they are all “is Right but”.
Fix name comparison after path interpretation.

All tests passing again.
Tighten up the AmbiguousReference check.
Fix some problems with joins.

• get rid of extra `null` in every `right` array.
• properly deal with being nested in `value` field after reduce.
• have a test that actually selects a field

Note: this won’t actually work in the REPL/server until the fixes in sellout/slamdata/syncing-tests are merged.
Merge branch 'syncing-tests' into temp-joins-ambiguous
Create new bindings after recursively substituting

Fixes a problem where binding values would have unresolved free variables in them.
Shortcut merge when both graphs are identical.
Tighten up name/Path comparisons.

Per @mossprescott’s comment on 7ad7db1674484b50e5872a59427eccc59bbe9ee9
Make reference deletion less conservative.

Fixes #266.
Move `interpretPaths` from the class to the object
Simplify a conditional expression.
Fix outer joins.

The earlier change to using `value` for nested documents hadn’t been done for outer joins.
Modify join tests.

Extract the overall structure, add a test with multiple fields, and add a test with an outer join.
Add a test for 3-way/nested join.

Also rejigger the `joinStructure` helper function a bit.
Merge pull request #267 from sellout/temp-joins-ambiguous

Pretty solid equi-joins.