[WIP] Quadrature Revamping

Here is a proposed layout for the new quadrature. Only the quadrature tests are supposed to compile. The sweepers and examples have yet to be altered to not use "augmented nodes" any more.

The Q and S matrices are now square and `nodes` only holds "real" quadrature nodes. The `quadrature_traits` template is used to specify whether the left/right node are the start and/or end of the time interval. This is in preparation for #71 and #31.

To shorten the source files, I've split up the different quadrature types into separate files in a separate namespace.
I'd rather see these inlined (and again, not part of the interface).  If a particular sweeper wants to use this kind of abstraction, that's cool, but I would prefer this IMEX sweeper to have this inlined.