feat(metering): use entitlements Firestore database for usage grants
Because: * Usage grants live in the entitlements-platform Firestore database, which is addressed by a named database ID This commit: * Adds optional `databaseId` to `FirestoreConfig` and extracts `createFirestore` * Adds `MeteringFirestoreConfig` and `MeteringFirestoreProvider` for metering * Points `UsageGrantsManager` at the metering Firestore client * Keeps the emulator on its default database, since it lacks named DB support