Update QueryBuilder.php

Change using of implode to convert array of queries to union to array_reduce. Result of this changing is that code feel difference between two selects that connects with UNION and two selects that connects with UNION ALL.
Update QueryBuilder.php

Fixed some errors – syntax with ";" after closure function and also moved building of unions queries into this function.
Update Query.php

Change union method to accept also <code>$all</code> variable. TRUE means that we must results <code>UNION ALL</code> construction, FALSE – that <code>UNION</code>.
Update QueryBuilder.php

Delete some spaces from result string.
Update Query.php

Forget one ";" :D
Update Query.php

Change passing parameters to array with two elements – 'all' which means if we use UNION or UNION ALL construction and 'query' which is our sql query that will be at right of construction.
Update QueryBuilder.php

Change buildUnion method to be ready to accept parameters in <code>['all' => $all, 'query' => $query]</code> format for division to "UNION" and "UNION ALL" constructions.
Update QueryBuilderTest.php

Add test for UNION/UNION ALL function.
It could be useful to use "phpunit --group=db --filter testBuildUnion" command for run it.
Update Query.php

Using short array syntax.
Update QueryBuilder.php

Change <code>array_reduce</code> with anonimous function variant to easy string collection from pieces of unions.
Update QueryBuilderTest.php

Comment test because it proceed an errors when tries to run at mssql and other DBMS.
Update CHANGELOG.md

Added one line about support of UNION ALL queries.
Merge pull request #2124 from iworker/master

Update QueryBuilder.php and Query.php