Dialyzer behaviour/callback optimizations for newer Erlang releases

To get rid of dialyzer errors like "Callback info about the poolboy_worker behaviour is not available" the new module attribute "-callback" (introduced with the Erlang release R15) should be used for behaviors instead of "behaviour_info/1". This pull request does not break any code compiled with Erlang releases prior to R15.