Deriving Dispatcher from Node

This does the bulk of the work in #869:

- Renamed Despatcher to Dispatcher
- Renamed addAllPlugs to setupPlugs and addPlugs to doSetupPlugs
- Added documentation about recommended practices when implementing doSetupPlugs
- Made registerDispatcher binding public, since it's public in c++

I didn't include the frameRange plug, since that turns out to bring up several other issues (like the fact that most of our exectutionHashes are broken). I'm going to split that part of #869 off into a separate issue so we don't get too much work all in our big pull request.

Fixes #869.