Refactor quadrature to use Node types
Refactor integrate in bilinearforms.jl

Seperates the calculation of matrix indices from the calculation of
matrix values.

The calculation of index values is now delegated to elements using a
set_indices! method which parallels the get_indices! method