[WIP] Issue 15: JOIN Support

The two tests as mentioned in #15 are passing now.

But:
1. Not all join conditions haven't been implemented yet (only DescendantNodeJoinCondition and EquiJoinCondition for now)
2. I need to write more tests for a LEFT/RIGHT Join, as the current tests only used INNER joins. And for the other join conditions.

And I haven't been able to test this with a real project yet, so we might find issues that aren't covered by tests yet.