Add SessionLoader with session/message/part loading
SessionLoader provides:
- load_session: Load session info with optional diff
- load_messages/parts: Load all entities for a session/message
- load_message_with_parts: Message with its parts
- load_session_tree: Complete session with all messages and parts
- list_* methods for discovering available entities
Also exports LoadedSession, MessageWithParts, SessionTree structs.