Create reusable preHandler middleware for subscription tier gating. Composable with requireAuth in route preHandler arrays. Returns 403 TIER_REQUIRED with upgrade prompt for insufficient tier, 500 for unknown feature keys. Includes 9 unit tests covering all acceptance criteria. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>