Improved file naming throughout library to ensure the drive:// context
is retained at all times.  Added caching for paths and google drive data
to speed up synchronisation.  Fixed many broken path modifying functions
and created appropriate unittests.  Fixed remote to local file
synchronisation - files can now be pulled down from Google Drive.
However, an exception currently occurs due to there being no encoded
file stat info on the files - this needs some checking adding to ensure
file stat info is ignored in the case it is not present.