[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.
IIRC, the explicit part cancels out at the very first node. In case the first node is not `t_0` (i.e. time start), the solution at the first node `u_1^{k+1}` is calculated by `u_1^{k+1}=u_0 + \Delta t_1 ( f_e(u_0^{k+1}) - f_e(u_0^k) + f_i(u_1^{k+1} - f_i(u_1^k) ) + \sum_{l=0}^M s_{1,l} f(u^k)`. However, `f_e(u_0^{k+1})` and `f_e(u_0^k)` are always the same, aren't they?