New API

so much nice

* Ability to specify keywords
* A (imo) more intuitive API
* A lot of cleanup
* `.dest()` method for writing directly to a directory (fixes #78)