Option to infer save directory from URL

Adds option to infer save directories from URLs.  This works by taking
the path component of the URL at a user-specified index and using it as
the save directory (the full path will be [args.directory]/[inferred
path]).  If the given index is 0, the entire URL path will be
interpreted as a path (again, relative to args.directory).

By default, the program now prints only the paths of saved files and
error messages.  This is useful for scripting (e.g. they could be piped
to another program, or redirected to a file).  The --verbose option
enables more descriptive output, and the --silent option silences error
messages.