Only perform fast_forward if remote branch exists

With the last release of `scc` instances of `scc travis-merge` failed with the following error

```
$ scc travis-merge
2014-06-11 11:34:47,575 [scc.travis-m] INFO Merging Pull Request(s) based on dev_5_0
fatal: ambiguous argument 'HEAD..origin/dev_5_0': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/scc/main.py", line 76, in entry_point
(UpdateSubmodules.NAME, UpdateSubmodules),
File "/usr/local/lib/python2.7/dist-packages/scc/framework.py", line 186, in main
ns.func(ns)
File "/usr/local/lib/python2.7/dist-packages/scc/git.py", line 3159, in __call__
args.info)
File "/usr/local/lib/python2.7/dist-packages/scc/git.py", line 1422, in rmerge
remote=self.remote)
File "/usr/local/lib/python2.7/dist-packages/scc/git.py", line 1102, in fast_forward
raise Exception("%r failed" % ' '.join(args))
Exception: u'git log --oneline --first-parent HEAD..origin/dev_5_0' failed
```

This applied in the case where the PR was opened against the non-default branch since Travis does not fetch this remote branch after cloning the repository. The `origin/branch` reference ended up undefined. This commit fixes this behavior by encapsulating the `fast forward` call in  a conditional `if` statement.