Adding test for an unknown remote commit while pushing
Always consider ignore and include lists

The list of changed files was reset to the all-files list if
 1. the remote sha1 was unknown and
 2. the user decided to ignore that (e.g. --force).

This commit puts the check for an unknown sha1 before .git-ftp-ignore
and .git-ftp-include are considered.

And if no files changed, the ignore and include lists are not considered
at all.