Fix "gitcc rebase" for empty files

(for files that had been checked in initially empty to CC)

Fixes #20.
The existing fix in charleso/git-cc@ccf628db033 is not working.

Solution:
If there is no "checkinversion" in "lshistory" then check if there is
3 items in the history (mkelemfile, mkelembranch, mkelemversion)
or 5 items (mkelemfile, mkelembranch, mkelemversion, mkbranchbranch, mkbranchversion)
If so then this file is created as an empty one and download it with proper version.
Move logic of "mkbranch_versions" and "checkin_versions" to a separate function

After a code review in charleso/git-cc#48.
Move common logic to "empty_file_versions" function

After a code review in charleso/git-cc#48.
Perform versions date filter before calling "checkin_versions"

Store to "actual_versions" filtered versions by date and use
it in "checkin_versions" and "empty_file_versions" functions.
Remove "date" parameter in all functions because "versions"
had already become filtered.