test(drivers): driver methods reject Promise when ready() rejects

Closes #199 (Merges 'More rejects' PR and adds tests)
Closes #197 (Adds tests for issue #195 and the changes found in PR #196)