Move PathCursor into its own directory and rationalize method and filenames.