Removed redundant code from FORTRAN source and cleaned up f2py interfaces
Dunavant integration rule is now abstracted into a class
BasisContainer object, which caches basis functions and stores metadata to pass to constructor, with a default value.
Use BasisContainer object to store all basis functions, instead of calling get_basis_functions
delete get_basis_functions
A separate file for material classes
1D Gaussian Quadrature Rule, with real coefficients
Calculation of singularities moved to Operator class
Linearised eigenvalue estimate also works for other types of basis functions
Examples tweaked, including using new python code for source vector.
Geometries for a gammadion or circled cross, and an isoceles triangle. Corrected the single basis function geometry.
Torus geometry
Fixed error in logging construction of basis functions
Function to sort items into equivalence classes
Allow loop-star basis functions to be created for 2D objects with holes in them
Closed ring geometry file updated, and showing example
Rectangle geometry, which supersedes square and dipole
Circle geometry
Test case for circle and rectangle geometries
tweak logging