Added `arg` and `arg_extra` API to easy commands

Easy commands can now easily get arguments from the command line.

Using `arg`, you can get named arguments on the command line, such as
"--foo" or "-f"

With `arg_extra`, you can get any remaining arguments after a "--"
on the command line, which is a common pattern used to grab longer
parameters.
Easy commands now take a target VM name

It is assumed to be the first arg, as long as the first arg doesn't
begin as a flag "-foo"
Add comment to explain unclear code
Easy operations `run` and `sudo` now echo stdout/stderr
Easy operations API `local` now echoes stdout/stderr
Require what to be notified for with block and Subprocess.execute

There was an issue before where the stdin buffer would always have space
so it would always yield that block and Ruby would spin at 100%. Now we
require all callers to say what they want to listen for. This drops
CPU down to almost nothing.

See GH-832
Update CHANGELOG
Fix bug where SSH didn't work properly

Forgot to set the `shell` variable properly
Subprocess now only yields stdout/stderr if you're listening
Fix problem that Puppet module-paths were re-ordered by Vagrant.

Puppet module-path were re-ordered by Vagrant due to the use of a
hash. This could lead to unpredictable results.
Explicitly tell ssh server we're done sending data
Merge pull request #968 from mxtthias/ssh-command-eof

Explicitly tell ssh server we're done sending data
Merge pull request #964 from jbraeuer/puppet-modulepath-fix

Fix problem that Puppet module-paths were re-ordered by Vagrant.
Update CHANGELOG
Allow the .vagrant dotfile to be moved into a completely different directory tree

I wanted to define my dotfile as: `config.vagrant.dotfile_name =
"~/.vagrant-projectname"` and noticed that the full path wasn't
expanded as expected.

This patch allows the vagrant file to be placed anywhere on the
filesystem.
Merge pull request #973 from mattrobenolt/expand-dotpath

Allow the .vagrant dotfile to be moved into a completely different directory tree
Update drivers to support reading MAC Addresses
Remove dependence on V1 Kernel from Environment
Renamespace Kernel to Kernel_V1
Fixes minor typo