Citations Rewrite + Allow SxS to Have Multiple References

This includes an overdue overhaul of the internal citations system. Prior to this, every time citations needed to be parsed, we'd use a slightly different parser. This provides a single, relatively clean interface for pulling out citations (regparser.citations.internal_citations) which can be reused in many locations.

This also removes a lot of cruft that snuck into regparser.grammar.common, splitting that file into atomic.py and unified.py.

These changes allow section-by-section analyses to reference multiple paragraphs. As a side benefit, many more internal citations are caught (such as "appendix A" and "Sections 1005.3(a) and (b)".

Sorry for the massive code dump. For the most part, it's just moving things around. Notable new bits: regparser.citations and regparser.notice.sxs