Improve handling of URLs to (more) correctly process URLs present
in s3 or a clone when migrating to local, including changing to an
upload:
psuedo-protocol URL, tagging audio and video files, and
in the process not creating non-URLs that point to nothing.
Also, fix batch_migrate_from_s3
to take both a max number of
posts to actually modify in a migration (the original but failed
intent of limit) and a limit of total posts to consider for migration
(for cheaper database queries). Because a primary goal of the max
limit is debugging, also use it to cause verbose output.
Finally, in the case of a truly unexpected error, print the error and stop processing, so that error cascades do not become hidden failures stopping a successful migration, but can be resolved.