add master_alive_interval options
remove __mine_interval_job, moved to minion.py
enable the minion to detect if the master disconnected using a scheduled job. has to be explicitly enabled by
setting the master_alive_interval in the minions config. the handling of the __master_disconnect event is still
POC. not yet sure what to do in it and how to make it as flexible as possible.
first version of server density monitoring modules
Switch to arg parser.

Resolves #13294
A deep copy should be used for default options.

Use deep copy to get default master and minion options to avoid altering
them.

This fixes an issue encountered when defining grains for multiple nodes in a salt-cloud map file.
Nodes deployed later in the process were getting grains for previously deployed nodes.
More descriptive logging for token failures
Closes #13369

Need to set the password in vm_ which used to happen inside what is now
request_instance, but was never added.
don't always overwrite the error_msg

error_msg='Failed to upload file {0!r}: {1}\n{2}', is in scp_file
fix pylint errors
Merge pull request #13379 from gtmanfred/exec_ssh_cmd

don't always overwrite the error_msg
Merge pull request #13377 from gtmanfred/develop

Closes #13369
Cache the sreq inside the zmqchannel instead of caching the entire channel object.

This is an improvement over #10332 in that you don't have to worry about someone creating a ZeroMQChannel then forking (thereby breaking the thread-pid rules). This way once it moves it will create a new sreq as needed.

This is possible now that #13155 is merged
fixed commments
Only Debian famiry systems need saltenv

Only Debian systems(modules/aptpkg.py) need saltenv for mod_repo function.
If not differentiate it, RedHat famiry systems will add saltenv option to the repo file.
Document the keep parameter of archive.extracted state
If interface type is slave, not auto set hwaddr

If auto set hwaddr for bond, it will use the true hwaddr for the first time. It's correct.
But interfaces will display same hwaddr in a bond by use 'ifconfig' or 'ip link show' when bond running,
Then they will reset to same hwaddr when execute state again, os will prompt like:

    Bringing up interface bond0:  Device eth2 has different MAC address than expected, ignoring.
                                                           [  OK  ]

eth2 interface in this example will eliminate from bond0. It's incorrect.
Added expensiveTest documentation to cloud testing docs
Rackspace with openstack driver cloud tests
Added expensiveTest decorator
Merge pull request #13376 from cachedout/10423

More descriptive logging for token failures