feat: add on-demand combined table with planning/geolocation intersection
Implement lazy loading for CombinedTable that fetches planning and geolocation data on-demand and computes period-based intersections.
- Add GeolocationClientService for geolocation API integration
- Add PeriodClassificationUtil for time period classification
- Create DTOs for Planning and Geolocation API responses
- Update CombinedTableServiceImp with on-demand fetching and intersection computation logic
- Fix ambiguous handler methods in CombinedTableController
- Add proper error handling for geolocation service calls
The service now fetches external data only when GET endpoint is called and data is not already cached, computing intersections by matching dates and period types between planning and geolocation sources.