Use a deadline from the calling process

Closes #21.
Release 1.0.1
Monitor calling process during wait
Cancel waiting when a checkout fails
Delete the downed process from monitors before handing off
Dialyzer optimizations for newer Erlang releases
Don't change the default pool sizes until a major release
Correct the README example to use trap_exit
We don't use a gen_fsm anymore
Add a .editorconfig
Update .travis.yml
Bump version to 1.1.0
Replaced behaviour_info/1 with new -callback specs
WARNING: this commit breaks compatibility with
         Erlang releases prior to R15
Merge pull request #38 from synlay/feature/behaviour_callback_refactoring

Dialyzer behaviour/callback optimizations for newer Erlang releases
Add a Bitdeli badge to README
Merge pull request #40 from bitdeli-chef/master

Add a Bitdeli Badge to README
Add R16B03, R16B03-1 and 17.0-rc1 to .travis.yml
Merge pull request #41 from kiela/master

Add R16B03, R16B03-1 and 17.0-rc1 to .travis.yml
Compatibility with 17.0-rc2

Type queue() warns on 17.0, queue:queue() warns on R16, so disable
warnings_as_errors for now.
Merge pull request #42 from ericmj/compat-17

Compatibility with 17.0-rc2