Update Halite tutorial
Formatting changes
Started writing brew unit tests
[salt.cloud] key_filename is not always set for expanduser

[ERROR   ] There was a query error: 'NoneType' object has no attribute 'startswith'
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/salt/cloud/cli.py", line 381, in run
    ret = mapper.run_map(dmap)
  File "/usr/lib/python2.7/site-packages/salt/cloud/__init__.py", line 1692, in run_map
    profile, local_master=local_master
  File "/usr/lib/python2.7/site-packages/salt/cloud/__init__.py", line 905, in create
    output = self.clouds[func](vm_)
  File "/usr/lib/python2.7/site-packages/salt/cloud/clouds/openstack.py", line 329, in create
    key_filename = os.path.expanduser(key_filename)
  File "/usr/lib64/python2.7/posixpath.py", line 261, in expanduser
    if not path.startswith('~'):
AttributeError: 'NoneType' object has no attribute 'startswith'
Added links to each glossary entry; wrapped in glossary directive
Removed old, scattered glossary entries
Added ref anchors for the ordering sections
Added ref anchors for the various targeting types
Added ref anchors for the top file and environments
Added ref anchor for file server docs
Added ref anchors to state layers doc
Added ref anchor for peer docs
Added ref anchor for overstate docs
Added ref anchor for renderer docs
Added ref anchor for salt-cloud docs
Added ref anchor for highstate docs
Added ref anchor for syndic docs
Updated tutorials, highstate, and PyDSL docs from term links to ref
pylint fixes
Cache client objects in reactor.

If you have a lot of events the current system of loading all clients on each event doesn't work-- because it loads all runners (for example).