port svn to capture2e
featurewise this is the same as what we did before:
- run and capture stdout&stderr
- get exit status
new code should be "a bit" faster than the previous code which used
backticks and forked into a shell to run a command construct. most
importantly however it is now reentrant. previously we got
exit states out of $? which is not reliable when used in a multi threading
environment.
to still be able to test things properly there is a private getter for
the most recent state. as this is not thread safe we'll not want to use
it publicly. should this become useful in the future we'll have to
invent a system through which we can make sure that different threads
do not work with the same VCS/SVN instance