Update deprecations

R17 has deprecated queue/0 as a type, in favor of queue:queue/0 or queue:queue/1.  This PR updates those types to silence compile-time warnings in R17.

Dialyzer did not like the spec contract on do_request/3 as handle_cast tried to pass in the 'undefined' atom as a pid().  Updated the spec to permit undefined as a value.