Plugin connections multiplexed on one process

This PR changes plugin RPC communication in the following ways:

* One process is launched per plugin (see config.go for how that works)
* Plugins run a "dispenser" which dispenses plugin instances on Yamux sessions
* RPC happens over the Yamux session

The result is that even with modules, we get a 1:N process:instances relationship for providers and provisioners.