Fix external-reservation cleaning buffers, calendar click-select, and cancellation cleanup

- datetime_fmt.php: cleaning-buffer generation now also covers external
  reservations recorded as local_bookings admin_block entries with
  meta.reservation_id (previously only status=reserved got a buffer).
- admin_calendar.js: click-to-select/info-panel now also recognizes
  Booking.com ICS segments and admin-recorded external reservations as
  full reservations, not just own/local ones (Booking's ICS never
  distinguishes reservations from host blocks).
- cancel_reservation.php (admin+public): cancelling a reservation now also
  removes its linked cleaning-buffer segments (matched via
  meta.reservation_id/meta.parent_reservation_id, not just exact id match).
- admin/api/cancel_reservation.php: fixed an undefined $token variable that
  silently skipped the admin-cancellation guest-notification email.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
