Fix switching branches with no stash.

If you don't have any stashes, `.git/refs/stash` won't exist, so feeding
"refs/stash" into git-log gives an ugly error.  Since this was the last
thing that happened in feature-switch, it didn't cause any technical problems,
but it looked ugly.

Fixes #42.
Allow alternate branch names in feature finish.

Previously, we'd just push whatever branch you were on - whoops!  Or
worse, if the user didn't have push.default set to 'current', we could
be pushing to any number of other branches; this is probably still a
problem a bunch of other places. :(

Fixes #38.
Merge finish-takes-in-branch-name (#47) into master

Allow alternate branch names in feature finish.

Previously, we'd just push whatever branch you were on - whoops!  Or
worse, if the user didn't have push.default set to 'current', we could
be pushing to any number of other branches; this is probably still a
problem a bunch of other places. :(
Merge fix-switching-branches-with-no-stash (#46) into master

Fix switching branches with no stash.

If you don't have any stashes, `.git/refs/stash` won't exist, so feeding
"refs/stash" into git-log gives an ugly error.  Since this was the last
thing that happened in feature-switch, it didn't cause any technical problems,
but it looked ugly.