adds options for client certs to downloader class

Adds :client_cert to the env array and then passes it into the curl
options array
adds param for client certs

adds an option to the command parser for client certicates
adds client cert
adds client cert to default config
adds accessor for client_cert
passes client cert option from Vagrant file to box_add
Merge branch 'master' into client-certs
implemetn array arguments from #1569
check ENV for VAGRANT_NOCOLOR (equivalent of --no-color on cmdline)
Ansible: Improvements for 'extra_vars' argument

`extra_vars` argument can now:
- contains a hierarchical set of parameters (instead of flat Key-Value Pairs)
- alternatively refers to a configuration file (instead of embedded Hash)

See Ansible Documentation for version requirement details:
http://www.ansibleworks.com/docs/playbooks_variables.html#passing-variables-on-the-command-line
core: Allow hooking before and after provisioners
core: Improve provisioner hooking by introducing a new builtin action for wrapping provisioner runs
core: Fix action name used for ProvisionerRun
core: Pass on the newly added box to the rest of the middleware stack
core: Scaffold an action for persisting box information
commands/box: Introduce a StateFile for keeping track of downloaded boxes
core: Write box information after download
commands/box: Extract box removal code from `box remove` command into a builtin action
core: Remove box information from state file after box removal
commands/box: Extract a base class for dealing with StateFile instantiation