Change nif error stub to erlang:nif_error

Using exit/1 instead of nif_error/1 causes dialyzer to freak out.
Change args passed to cberl_worker to proplist.

Poolboy convention demands that the worker arguments as well as the
pool arguments are proplists, despite actually passing the value
straight through to the worker module.  Either way, conventions
can be good, if people remember to shower.
Clean up typespec from instance() to pid()

Reference bug #43 with devinus/poolboy on github.
A lot of miscellaneous type check cleanups.
Merge pull request #25 from chitika/review-me

Fixes for issue #24