A handful of fixes. I should go back to class now.

- in shakeWindow, check if the completionHandler is nil.
- Resizing the SCUnifiedWindow quickly messes up the layout. This was
fixed by letting autoresize masks do it instead.
- DESUserDiscovery caused a deadlock on bad input. Use async dispatch
instead of sync.
- Slightly change the layout of AddFriend.