osx_defaults does proper escaping

We now use Shellwords library to properly escape keys and values (if a
string type) of the default being written.  This way the users of this
utility don't have to worry about escaping things themselves.  This
required changing the terminal_preferences to no longer attempt to
excape some of it's keys.
Adds KeyCastr Preferences

New KeyCastr preferences are:
- Only shows for command keys
- larger font
- Turns off showing preferences on launch
- Hides KeyCastr app from doc (only shows in menu bar)
- Attempts to place in top right corner, though with inconsistent
  results
- Marks it as having been previously launched