cache each node individually on a show_instance()
pass the provider to the delete_minion_cache

It was not being passed to delete in the correct directory, because it
wasn't recreating prov_dir correctly. This fixes the issue.

Now the cache is up to date, and adds the minion to
/var/cache/salt/cloud on create, and deletes it on delete, also deletes
it if it is missing.  This could be used to key off a wheel.key.delete
in the reactor of old minions.
Add note about new hard dep for python-requests
fix pylint errors

double space and lxc had name, instead of vm_ again
cache minion in all show_instance() functions
Merge pull request #12875 from terminalmage/docs

Add note about new hard dep for python-requests
Merge pull request #12876 from gtmanfred/cache

fix up cache problems
make more providers cache data and delete it correctly
add rackspace to the create caching

Also clean up some of the caching.

These are the remaining drivers who do not cache on create

botocore_aws.py
cloudstack.py
ec2.py
gogrid.py
joyent.py
linode.py
proxmox.py
saltify.py
pylint fixes
Merge pull request #12877 from gtmanfred/cache

cache on create for more drivers.
Add zshell completion for salt salt-call and salt-cp

I will do bash completion soonish