Resource: Ensure location path is string

Ensure the location's path is an encoded str, so that it will compare
properly with the incoming path.
Logging: Use %s instead of .format

Using .format errors if the strings mix str and unicode. Switch to %s
because it avoids this problem.  Python3's logging module supports %s as
well.
Default Locations: Add exception handling

refs #7416

Add try-except blocks around Space and Location creation so that defaults
creation does not block interacting with the storage service if there are
problems.  Restructure Location creation to reduce boilerplate.
Duracloud: Handle fetching many files from a space

refs #7481

Duracloud returns a maximum of 1000 files when browsing a space. Update
code to call that endpoint repeatedly to fetch all files with a given
prefix. To handle the larger number of files, convert _get_files_list to an
iterator.  Update browse to deal with paths one at a time, instead of
fetching all of them at once.  Update tests for new calls.
Space.move_from_storage_service: handle mixed encodings

Fixes #7583
Duracloud: Handle hidden files in folders

refs #7549

When trying to fetch the contents of a folder, Archivematica passes
'path/to/folder/.' If the folder had files starting with ., they would
be returned when querying with the path as prefix. Only if no files
were returned was the path normalized. This meant non-hidden files were
not fetched if the directory had hidden files in it.

If we think this is a folder, always strip /. and /* from the end of a
path, if they exist.  This removes support for using .. and other
shell-isms from folder paths, but we probably shouldn't be using those
anyway.
Duracloud: Percent encode file paths when fetching

refs #7643
Duracloud: Don't encode GET params

While URLs must be percent encoded, GET parameters do not work if they
are percent encoded.
SWORD: move downloaded MODS into subdirectory

This makes locating these MODS files easier at a later point in time
if they do not follow a standard file naming scheme.

refs #7424
Downloaded MODS: minor bugfixes

* Change calls to full_path to properties.
* Add MODS folder before download starts.