Install helm
Force persistence directory to exist

This creates a .gitignore file in the persistence directory, so that
upon a new clone, this directory will already exist. This reduces the
chance that something will throw an error due to expecting it to exist
and not creating it itself.
Move desktop path to persistence directory
Set kill-whole-line to t
Save window excursion when loading config.org

Loading the config.org file can cause it to be compiled, and that
compilation buffer can create a new window that will stick around after
init. Wrapping the load in "save-window-excursion" ensures that the
window configuration cannot change while loading config.org.

This change replaces the Cleanup section of config.org, which didn't work
as well anyway.
Save desktop with every file opened/closed

Every time a file is opened or closed, the emacs desktop is saved
afterward. This ensures the desktop is always up-to-date with respect to
the set of open files.

This also saves the desktop on each auto-save.
Replace verbatim tags with code tags

A number of commands in the org file were wrapped with =verbatim= tags,
when they should be wrapped with ~code~ tags.
Fix some byte-compiler warnings
Improve documentation of init.el