Implement Chef Vault support for knife bootstrap

Solving issue https://github.com/opscode/chef/issues/1887

Tested on Chef 12 and Chef 11 ... :+1: 

I might need to push back this to Chef 11 since client needs to use it ASAP... 
Can you pull my patches to Chef::ApiClient::Registration from #1903 and then pass the rest object from the Knife context into here so that you use the user key?

I also very badly want the bootstrap_overwrite_client_node behavior (defaulting to off) to bootstrap a node even though there's a client and a node present on the server.