Add autostart as an option for vagrant boxes

Added specs for the environment and vagrantfile. Added a methd to retrieve
autostart_machine_names. Changed the plugin up/command to use autostart_machine_names
when no argument was given to the command.
communicators/winrm: initial import from vagrant-windows
communicators/winrm: Config unit tests (a little)
kernel/v2: configurable communicator (doesn't do anything yet)
core: Configurable communicator
communicators/winrm: autodetect port based on forwarded ports
communicators/winrm: more tests
communicators/winrm: fix powershell execution
guests/windows: initial vagrant-windows extraction
guests/windows: fix invalid templating
guests/windows: configure networks
guests/windows: fix network configuring
providers/virtualbox: make ID os-friendly for Windows
core: Basic MachineIndex class, starting point
core: MachineIndex has precision locking for entries
core: replace "-" in UUIDs with ""
core: Add MachineIndex#delete
core: Environment#machine_index
core: Machine sets index entries on ID sets
core: Machine updates state cache when querying state