3.0

Not yet ready to merge...

TODO:

- refactor getList 
    - namespace
    - remove unnecessary joins
- aql distinct
- option for sql() to throw exceptions
- don't connect to db until the first sql()
- add missing documentation