Where does Craft store the field definitions? I would like to add field and section definitions to versioning. Or at least, have them backed up constantly.

I haven't been able to find out yet how craft handles this. I'd say it's in the database, but apparently it's not: the database has a uid column where values like 305ed8b6-3519-422f-8436-eca448145656 are stored. This probably refers to some git-ish entries in the file system.

So is this out of reach for manual save/restore/export/import?
Basically look for the tables "craft_fields", "craft_content" and "craft_sections".
For Fields you can use the "Field Manager" Plugin.