Try a challenge

You are the last reviewer before merge. The pull request below was written quickly, with help, and it has problems. Find them.

CSV export for customer invoices

Python, medium, 30 minutes, 3 files, +86 / -1

Adds `GET /customers/<customer_id>/invoices/export`, which streams a CSV of the customer's invoices for the requested period and emails the requesting user when the export is ready.

Product search with debounce and match highlighting

TypeScript (React), medium, 25 minutes, 4 files, +77 / -5

Adds the debounced product search box from the design review.

Add password reset flow

TypeScript, medium, 25 minutes, 4 files, +117 / -4

Closes #412.