don't add files when cleaning them

before, if a cleaned file differed from the original version, the
entire file was added to the commit, even if only a few lines were
originally selected.
return clean_id version when getting year/sem id's
fix post_section tests by changing cache work

instead of adding the posted section to the cache by calling
get_section on it (extra request), now post_section puts it in the
cache directly. It also marks the semester id, which is necessary for
q.get_sections().
warning if cached sections don't have a semester

since q.get_sections() relies on all sections having an academic
semester id to find them (and thus ignores any that don’t), add in a
warning that checks if all sections have academic semester id
cleanup section tests

add:

- all posted sections here get called “temp x” for clarity
- delete any “temp” sections in setup() to avoid errors related to
sections that weren’t properly deleted.