fix: resolve cache_local S3 upload with moto and add local module tests
- Add moto[s3] dev dependency for S3 mocking in tests
- Fix cache_local=True to use boto3.client.put_object instead of s3fs
- Make AWS_ENDPOINT optional for better S3FileSystem compatibility
- Add comprehensive test suite (47 tests) for atdata.local module
- Fix BasicIndexEntry to handle None values in Redis serialization
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>