Handling empty password in test suite

When no password was given, the tests still put '-p' in their calls.
That resulted in an error 'Remote host not set' because the remote host
was mistaken as a password.

All duplicate code like

    $GIT_FTP_CMD init -u $GIT_FTP_USER -p $GIT_FTP_PASSWD $GIT_FTP_URL

is now in one place and tests can just call:

    $GIT_FTP init

That should increase the readability as well.