After code review by @pwnall.

- update jsdoc comments
- rolled-back re-indentation
- turn `@agents` into `@_agents` (private) but keep `@setAgents()` public
- `@setAgents`: do not modify input parmeter
- `@_onHttpError` update processing (no `request` is passed as a param)