Change getBareMetalInstances call to getHardware

Per a ticket with softlayer because their API was returning an empty array to calls to getBareMetalInstances:

You do not have any machines flagged as a Bare Metal Instance. We used to refer to physical machines as Bare Metal Dedicated (monthly) and Bare Metal Instance (hourly). Now we refer to them as Bare Metal (monthly) and Bare Metal hourly (hourly). The getBareMetalInstances function will still return the hourly.

getHardware gets both according to Softlayer.
modify shim to accept the modules as base64
Add mod_data routine
Pass module args to the shim
change the shim args for module loading
Fix stack trace in write_odules
Check the validity of the entry before commiting the arg
It works! salt-ssh now autodeploys modules.

It happens in the shim, so it is inline with module type changes
without requireing a heavy deployment of a new thin tarball
Update linode tests to use a randomly generated instance name
lint fix
Merge pull request #15539 from thatch45/ssh_module_deploy

Ssh module deploy
Fix #12810
Merge pull request #15550 from thatch45/2014.7

Fix #12810
Add docs for roster_file option
Merge pull request #15552 from thatch45/roster_master_config

Add docs for roster_file option
Adding optional tag functionality to salt.modules.dockerio.push
Adding optional tag in salt.states.dockerio.pushed
Merge pull request #15501 from highlyunavailable/2014.7

Change getBareMetalInstances call to getHardware
Generate random cloud instance name on rackspace tests
Don't log the password on ldap auth failure

Fixes #15551