Allow config to inherit/override in order of importance

This patch fixes a regression as described below. It may or may not be how you want to do things in salt-cloud now...

Previously I could define more general options in the high level config files and then override them in lower config files. This order was used:

1. `/etc/salt/cloud`
2. `/etc/salt/cloud.profiles`
3. map file

Now we have the newer `.providers` file to contend with as well.

In my specific case, the following config files meant the `minion` entry in `.profiles` was overwriting the entry in `.providers`. (Thanks @whiteinge!)

	> cat /etc/salt/cloud.providers
	singapore-config:
	  provider: ec2
 
	  minion:
	    master: salt-master.example.com
	    master_finger: 5b:********:1d
 
	  id: '********'
	  key: '********'
	  keyname: keyname
	  securitygroup: default
	  private_key: key.pem
 
	> cat /etc/salt/cloud.profiles
	app_server:
	  provider: singapore-config
	  image: ami-6686ca34
	  size: Small Instance
	  minion:
	    grains:
	      role: app