Deal more gracefully with non-ASCII, non-Unicode paths

It's possible for users to attempt to begin transfers using files whose names contain non-Unicode, non-ASCII characters. Since communication to/from the storage service and between the dashboard and JS frontend occurs via JSON responses, which mandates Unicode, it's necessary to find an alternate way to represent paths.

This moves to communicate paths back and forth in base64 encoding, and vendors a JS base64 library to let the UI decode and encode paths as appropriate.

This depends on v2 of the storage service API, in artefactual/archivematica-storage-service#3.