Call git wip asynchronously
use magit-define-command for magit-svn-* commands

so that we can use switches and pass them through magit-custom-options
add 'switches key in empty key-mode groups

Modify `magit-key-mode-add-group' so that newly created groups
include the 'switches key by default. This prevents
`magit-key-mode-insert-switch' from failing when trying to add
switches to new groups created at runtime.
add --dry-run switch (-n) to magit-svn
Remove magit-wip-save-safe

As git wip is run asynchronously now, magit-wip-save
should not be raising any git-related errors.
Fix a bug in magit-process-sentinel

magit-process-client-buffer may be killed at the time
magit-process-sentinel is called.  Therefore, a check
using buffer-live-p is added.
Do not call magit-refresh-buffer for non-magit-mode buffer

fixes #538
Fixes the incorrect pull refspec.

This fixes issue #557.
Merge commit '7122ff06313caba28731c647d74d745dcf57353c' into tkf/wip-async
Merge commit '6377e62556d258923492fba9b5eedf1ee3533a57' into legumbre/magit-svn-dry-run-switch