Fixed some issues with links inside of the best practice docs.
Fixed some line lenghts for the best practices.
changing the send_msg function to adhere to the salt coding style.
Turn the etcd returner into an external job cache
Place group_names in set() before include_default, only trace log final group list
change in InstallLib assumes build/lib/salt and looks for a file based on that assumption.  on certain platforms this fails and causes the setup.py to fail.
Merge remote branch 'upstream/develop' into develop
change in InstallLib assumes build/lib/salt and looks for a file based on that assumption.  on certain platforms this fails and causes the setup.py to fail.
Merge pull request #11336 from garethgreenaway/develop

changing the send_msg function to adhere to the salt coding style.
Merge pull request #11342 from techhat/etcd

Turn the etcd returner into an external job cache
Merge remote branch 'upstream/develop' into develop
A few fixes to use :ref: and :formula: instead of :doc:.
Merge pull request #11344 from garethgreenaway/develop2

Fix to make setup.py work
Merge pull request #11343 from dlanderson/getgrouplist

Place group_names in set() before include_default, only trace log final
Add machine-id to the grains
pep8 fixes for grains/core.py
Use cmd.retcode with _linux_bin_exists

instead of cmd.run and echo $?
dash is not allowed in function names

and dictionaries use : instead of , ...
Stop passing **kwargs to find_job
Stop passing **kwargs to find_job