More reliable svn support

Detects files that have been added, but not committed.  Also files that
have been added and committed, but not updated yet.

Do this by parsing svn status instead of svn ls.

I feel a bit worried about assuming the filename is always at position 42
in svn status -v output.  But I can't split on whitespace, since the
number of columns varies.  Oh well, let's wait for bugs to be reported.