allow 'first' element to be a path string, not simply a bucket name

I noticed that the FileSystem.getPath implementation does not allow the 'first' element to be a path string, such as '/foo/bar/. According to the javadoc, it should allow the 'first' element to be a path string, and process it accordingly. I added code to support this.