Partially revert removal of custom agent

Still use agent to set rejectUnauthorized: true in 0.8.x
Error if service ctor called without "new"

Provide a more helpful error message when users incorrectly try to
use service constructors as functions.