add Distinct to CypherGrammar
super unit test the query builder

Brought in the most common Illuminate Query Builder tests from
laravel/framework