3078: arv-put always writes progress before starting work.

It previously did this when resuming, but there's no reason we
shouldn't do it when starting fresh as well.
3078: arv-put supports dynamic stderr.
3078: Add arv-put options to add the upload to a Project.
3176: Fix arv-put's resume cache writing.

Refactoring directory creation into _util accidentally broke this:
arv-put was trying to save the cache to a relatively directory that
almost never existed, and then silently ignored the error.
Merge branch '3078-arv-put-name-links'

Closes #3078, #3176, #3205.