Additional data fields programs
Frontend & models for (some) extra badge fields

This is still missing the prereqs stuff, but this adds age range, time
to earn, category and badge type to the backend models and the
frontend. This also had some refactoring of the badge `create` and
`update` endpoints to pull out common code.
Protect against nulls.
Add images to issuers.

This also does a lot of work to simplify things on the backend. Instead
of processing programs at the same time we try to process issuers, it is
a separate step. It's (arguably) a worse user experience on the
frontend, but A) the UX is in flux right now so we don't know what it's
going to look like anyway, and B) it's *way* simpler on the backend.
Can add and edit programs again.

This time with more images and other fields and stuff!
Add programs, issuers to the api
merging 101-extra-fields
typo