feat: add PATCH /api/admin/orders/{id} for manual tracking entry
- UpdateTrackingRequest DTO: optional trackingId string (nullable —
allows clearing a tracking ID entered incorrectly)
- OrderService.updateTracking(orderId, trackingId): finds order,
sets trackingId via setter, saves entity — @PreUpdate fires to
update the updated_at timestamp automatically
- AdminController.PATCH /api/admin/orders/{id}: admin-only endpoint,
validates request body with @Valid, returns updated AdminOrderResponse
via the existing toAdminResponse() mapper
- AdminControllerTest: 5 new tests —
shouldReturn403WhenPatchingTrackingWithoutAuth,
shouldReturn403WhenPatchingTrackingAsNonAdmin,
shouldUpdateTrackingSuccessfully (verifies response id and trackingId),
shouldClearTrackingWhenNull (removes trackingId),
shouldReturn404WhenOrderNotFoundForTracking