Added parse.com based remote file store to push and pull

If push/pull are started with a remote repo name not containing ":" or
".." then the repo is assumed to reside in the cloud.
Now assigning a unique filename to each file for uploading. parse.com
rejected filenames with special chars and dots at the beginning.
Some refactoring of push/pull.