Add explicit dependencies to the agent class

@zxjinn, should we merge this into our master? I setup an upstream branch to track the puppetlabs-operations master branch.