v1.1.0

- Adds loop prevention code to break infinite loops.
- Uses promises only when a callback isn't specified.
- Adds additional sanity checks, and tests for these checks.