Remove plugin activation. It really isn't necessary.

It was only used in a couple places and it isn't necessary since you can
do the loading within the actual blocks themselves.
Don't allow registry to be given value in non-block form
Much cleaner plugin part querying syntax.

Before we were manually going over every plugin and getting each piece,
all over the place. Now we have a central manager that will give us all
the pieces we want. There is still some cleanup to do here but this is
much better overall.
Additional tests for the plugin manager.
Add support for "upgrade safe" config classes to plugins.

These are classes that use NO core classes of Vagrant, and are therefore
safe to load for upgrades. i.e. a V2 core can load a V1 config class
that is deemed upgrade safe without crashing Vagrant.
Mark core config classes as upgrade safe
V1 config loader loads upgradable config if not V1

This is to prepare for the upcoming V2 configuration. When we're in V2,
we only want to load _upgradable_ configuration keys.
Clean up tests a bit more
Build the v2 interface, which is just a copy of V1 for now.
Convert comands to V2 plugins.
Get rid of some ruby warnings due to shadowed variables
Communicators to v2 plugins.
Guests to V2
Update tests to create V2 plugins
Hosts to V2
Providers to V2
Turn provisioners to V2
Configure the V2 kernel.
Support configuring the version for test plugins.
Update the Vagrantfile template to use V2 by default.