Space.move_from_storage_service: handle mixed encodings

Fixes #7583
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.
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.
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.