check if kext is present before attempting unload

this is intended to address #1941
flag handling consistent btw install/uninstall

This makes uninstall process flag arguments in the same manner
as install. Any argument with a leading dash is assumed to be a
flag, not a Cask.  Argument processing still needs work, unknown
flags and spelling errors are silently accepted.
Make caskroom configurable via command line argument
Clearer instructions for options
Added test for custom --caskroom argument
Add DownloadStrategy and Cask::Headers for custom :headers support
accepts a :user_agent argument and/or multiple :cookies
  headers :user_agent => 'Netscape/1.0', :cookies => { :cookey => "r00t" }

Also adds a standalone :fake_user_agent for a default UserAgent (Chrome)
  fake_user_agent
References #1175, #958
Adding a cask for the mail plugin MailFollowUp

The installer comes with an uninstaller app (an Automator Workflow at
heart), but I wasn't able to run that with 'script' so I set the
uninstall to manually delete the plugin folder.
services support
Improved the name of a test
First shot at a better CLI argument documentation
Minor USAGE tweaks
Added inline comment on option parser so that people won't forget about the documentation
CaskAlreadyInstalledError exits with 0
GarageSale 6.6.6
GanttProject 2.6.2-r1544
Correct field order in gfxCardStatus
Photo Ninja 1.2.1
Poedit 1.6.2
Merge pull request #2066 from halo/master

Configurable Caskroom location, see #475
Quassel Client 0.9.2