[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.
If `left_is_node` is true, then yes, otherwise just `dt * nodes[0]`.