Make the PreQL object have a more client-usable api

Yes the alignment needs to be fixed. Not sure if you want:
```
writer.writerow([""] + columns)
```