Further teasing DVR apart from the agent and other router types. This
change illustrates the need to use plugin_rpc and context from the
agent. It leaves this as a dependence of dvr_router on the instance
of the agent. So, when the agent creates a dvr_router, it passes
itself in as an argument. It doesn't do this with other router types.
I would like to eliminate the dependence of RPC while processing a
router. However, this is just a refactor and at least decouples it as
much as possible and isolates the dependence to DVR only.