Lazy Arrays

This PR will eventually pull in support for lazily-evaluated arrays in SciDB (i.e. arrays backed by a query string, instead of an explicitly-stored array). Todo before merging:

- async eval option (deferring to separate issue)
- [x] connecting ctrl+C to query cancellation
- [x] reorganize AFL classes into functions which return lazy arrays
- [x] remove explicit `eval`s inside most SciDBArray methods
- [x] rethink how AFL functions are bound to interfaces (maybe `afl_operator(*args, interface=None)` is better than `sdb.afl.operator(*args)`, since interface can usually be inferred from input args, and the first option allows multi-import statements like `from scidbpy.afl import filter, project, apply`) (update: first syntax isn'f valid python)
- [x] Update documentation