Updated driver for 1.8

I have updated the driver for 1.8 and added some more tests which I believe cover most cases.  I have also split the query.go file into a number of separate files similar to how the API docs split the functions. I can revert this if you do not agree with the decision.



| Change                                                | Tests | Docs |
| -----------------------------------------------------------|:-------:| ---------:|
| Updated ql.proto                                   | N/A   | N/A    |
| Fixed issues with existing tests             | Y       | N/A   |
| Updated `Between`                               | Y       | N       |
| Update `CoerceTo`                               | Y       | N       |
| Updated `OrderBy` to accept functions   | Y       | N       |
| Fixed bug with Exec                             | N       | N       |
| Added basic psudotype support             | Y       | N       |
| Added time support                              | Y       | N       |