Add directory support with optional cheap directory listing
Fix using PUT for new files and added arguments for file.py run directly