Don't error out if receiving an unexpected line in 'svn status'.

When 'svn status', we'd attempt to look for particular data to indicate
whether there's any files scheduled to retain history in the commit. We
assumed there would be a 4th column to check, but this doesn't always
appear to be the case. We now catch any IndexErrors here and ignore
them.

Reviewed at https://reviews.reviewboard.org/r/5925/
Make rbt behave better if it can't find a remote branch for hg repositories.

Right now, if rbt can't find the remote branch, it errors out with the string
"CRITICAL: tuple index out of range". This is a terrible error.

There's some code in the mercurial client to allow using --tracking-branch (or
the associated config value) in the case that none of the expected branch names
are found, but --tracking-branch was listed under the "git options" only. I've
moved this option to the general repository options section and clarified how
it behaves for mercurial repositories.

I've then made it so that if the mercurial client can't find an upstream
branch, it will error out with a useful message telling people what went wrong
and how to fix it.

Testing done:
* Ran unit tests
* Created a bare hg repo with no remote branches, and ran 'rbt post'. Saw the
  expected error message about being unable to determine the upstream branch.

Reviewed at https://reviews.reviewboard.org/r/5926/