first working draft of a best practices document.
Merge remote branch 'upstream/develop' into develop
Merge remote branch 'upstream/develop' into develop
Fixed a typo in the best practices doc for referencing location of vim content.
Added an initial draft of some of the beginning of the pillar section, still needs to be revised.
Merge remote branch 'upstream/develop' into develop
Fleshing out the section on pillars, restructured part of the doc to provide a better flow.
Added some links.
Link fix.
Fix the formulas link.
add another link, fix some formatting.
Merge remote branch 'upstream/develop' into develop
Fleshed out a ton of sections, added more verbose examples.
Added some more example info for a somewhat confusing section.
Updated examples to fix a few syntax issues, modified an example to give it a more realistic structure.
Updated best practices for a typo for the sls reference.
Fixed some grammar issues.
Added doc to contents file, fixed an error.
ZMQ topics

Salt targeting is done using the zmq pub/sub mechanism. No filtering is done so all requests go to all minions. This is an attempt to make the requests more target-able. ZeroMQ supports filters on these sockets which are processed publisher side. So the thought is to set it to the minion id and a shared "broadcast" one. Only requests of tgt_type == list will use this. The thought is if we like this we can use other data (mine etc) to determine a more specific target on the master (such as a list) from a glob match etc.

Syndication masters do not have zmq filters applied, but will send out their syndicated requests with a filter as well. So all targeted messages aren't gauranteed to go to only the minion, its just best effort
Add import for new exception