email consent: add backend
Created by: limitedmage
Add database backend for storing whether a user has consented to email communications for marketing/sales purposes. This is required so that the user's email consent preferences are sent to HubSpot in periodic pings.
This does not need a GraphQL API because it will only be set when the site is initialized. At least for now, the only user that will have this set is the initial site admin, if they consent to it. A future PR will add the consent in the site init page and read from this database field when sending pings.
Part of #28716 (closed).