Iterate through file listings, rather than buffering in memory
Fix download support
Implement a simple on-disk session cache
Serialize in JSON format instead of using Java native serialization