Post-receive hook can handle arbitrary branches.

This change allows to deploy arbitrary branches to remote servers.

Suppose you have a 'staging' and 'live' remote configured. In order to
work on a new feature you create a feature branch and when you want to
test it on the staging server you just call:

```
pave deploy staging feature-branch
```

and the corresponding branch will get checked out on the remote server.