Rethink the query builder.
Initate dynamic after opts has been generated.
Allow nesting of condition objects.
Write some tests for the SQL query builder. Not finished.
Add some more tests
Add a test for multiple group bys. Adds a space after the comma, for concistency
Add more tests, ORDER order should be uppercased.
Add a delete test.
Use a magic method for the query helpers.
Add tests for the magic methods.
Allow passing a string to the select part of builder.
Split the shuffling into the a seperate function.
Add mode switching for chained queries.
Don't need to use extract_shuffle.
Protect mode.
Add a __toString function.
Store a query opts function for the final query.
Store the current query mode.
Little fixes.
Add the chained method.