Fix traceback in format_log

format_log assumes that if the first value it sees in the changes dict
is a dict with a key 'new', that the information in the changes dict is
from a pkg state. However, this causes format_log to traceback (and
causes the state to output nothing) when the changes dict contains mixed
data. This commit uses a more precise method of determining if the
changes dict contains information from a pkg state. It checks to see
that all values in the changes dict are dicts themselves, and that all
of these sub-dicts contain both "new" and "old" keys. Technically, this
is not a perfect solution since someone could write a state which
returns changes in a similar format, but it at least gets rid of the
traceback.
slight modification
Make output correct if package was removed

Makes the log line say something like "foo changed from 1.2 to absent"
if the package was removed.
Fixed typo in Walkthrough
Merge pull request #3842 from archtaku/quickfix

Fix traceback in format_log
Merge pull request #3844 from dhepper/patch-1

Fixed typo in Walkthrough
Merge pull request #3847 from giantlock/develop

fix bug: file.recurse remove empty dirs if clean and include_empty set both
move gather bootstrap to config
Remove qemu module
Add qemu img module
Add qemu_nbd module
Change qemu to qemu_nbd to reflect name split
Recommend debconf-utils and do it in salt-common. fixes #3834
Fix a typo and try to squeeze in pydsl along the py renderer to give it more publicity! ;)
Ubuntu firewall rules are already included
Merge pull request #3849 from kjkuan/salt-doc-update

Fix a typo and try to squeeze in pydsl along the py renderer to give it a bit more publicity! ;)
Merge pull request #3850 from seanchannel/develop

Ubuntu firewall rules are already included
Restored saltstack theme
Updated docs with new design
Add append_domain grain if its set in the config