improve print_break and pp

add ability to give an arbitrary break_str for print_break (so line
could be ***… or —… or 88888

wrap the prints in pp with print_break to make them stand out from
other printing happening (useful for seeing the whole object, which is
what pp is for)
improve get_section and its tests

main difference is now GETting a section that’s not in the cache adds
all the sections from that semester to the cache.