Fix inverted logic when closing the first window in the list.

This regressed the closing topmost window when its application had
other windows visible bug.
Initialize NSError pointers.

Be explicit in case the called method doesn't modify the pointer.
Support invocation while holding ⇧
Holy crap Mavericks can really delay raising an application sometimes.

But it doesn't fail! It just takes forever. I wonder if there's a way
to do it with AX instead?
Log version number at launch.
DRY up the magic strings in preferences.