util.js: Added shallow_copy_object function. fileservice: Removed temp code causing return=contents to be the default. Now return=listing is the default, so you will not get file contents unless you explicitly say "return=contents". browser: Moved the code to handle a dir listing somewhat from listing.js to browser.js, and applies to all returns. Now even non-dir files have a listing - all files have a file_listing and current_file global variable, which means the correct processing can now be done on files and dirs. For non-dir files, it now makes a SECOND Ajax request to get the contents, which it then handles in the way it always has (in the text editor or a binary form). (Suggested by Tom Conway).