always fill in fnode->fn_name correctly.

On NO_OPENAT systems we were populating fn_name incorrectly with the
full name, which made 3factor think a file did not previously exist when
it did.
Fix ctfb when / is explicitly backed up.

The problem here is that the code handling the version tree all assumes
that no entry has the name of the path separator. If / itself is backed
up this is untrue. The solution we use is when generating the version
tree, we explicitly detect this case and move all children of the /
directory to be parents of the `root' node in the tree, thus restoring
the previous assumption.

Closes #41

Problem reported by Björn Ketelaars; thank you!
nr_shas is signed, so print it as such in ct -t.
Fix size calculation on differential extracts.

If we have more to do, probaby best we continue the loop and not just
goto done like the `nothing mroe to do' path. Bug pointed out by wenzo,
debugging both of us, fix by me.