3.0 sql server

This adds support for SQL Server. A somewhat major refactor was introduced in this changeset, now Queries are compiled to SQL using an external `QueryCompiler` object. This was needed because SQL Server is a :trollface: database in its syntax.

Some stuff has not been implemented:

* DateDiff function in SQL Server has the paramenters in the inverse order, this give negative values when evaluating. I will let the users live with this
* DISTINCT ON was really difficult to implement, leaving for another day
* ~~There are some problems with datetime/timestamp~~