sockets need a reference to the context object to ensure the context doesn't
get prematurely cleaned up
clarify in docs that an object's close/destroy method is called when the
object is reaped, not necessarily when it goes out of scope
rename ctx_ptr to _ctx to reflect it's a private attribute
add regression test for incorrect gc order
use install to install scan_prereqs and then before_script to install
all dependencies