Python rewrite of tar_scm

This is a rewrite of the tar_scm service in Python to improve security and
restore functionality after commit acecb041929bc8210c4165574e85bd8a6f0748b2.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Make pep8 happy (except for regex in tar_scm:299)

Addressing the feedback of pep8 tool. The regex in line 299 will stay as
it is due to readability.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Address some feedback from pylint

Signed-off-by: Jan Blunck <jblunck@infradead.org>
make Python version PEP8-compliant

Conflicts:
	tar_scm
Let Travis execute pep8

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Strip newline ('\n') characters from safe_run output in detect_version()

The last commit changed the way how we process the output of safe_run()
commands. Now we need to strip newline characters where we don't need them.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Make potentially long-running tasks print output in real-time

Tasks that might run for a longer time should present their output in
real-time if being executed interactively. Otherwise the user might think
the application is stuck.

Signed-off-by: Jan Blunck <jblunck@infradead.org>