Stock-adjustment endpoint + tool.low_stock webhook

POST /api/v1/tools/{id}/adjust-stock records a signed delta against a consumable tool's stockLevel — positive = restock, negative = usage. Records an AUDIT ToolEvent with a structured stock_adjusted: delta=N new_level=M prefix so audit consumers can parse the change. When the adjustment causes a crossing from above-threshold to at-or-below-threshold, a NEW tool.low_stock webhook fires automatically (wire it to reorder automation or Slack); the event includes previousStockLevel, newStockLevel, and the effective threshold. 12 new tests cover validation (delta=0, NaN, Infinity), the consumable-only 409 gate, zero clamping, AUDIT-event creation, and the conditional webhook fire on threshold cross vs. no-crossing paths.