Extract a layer potential source superclass.
This creates an abstract class LayerPotentialSourceBase with a few methods and properties and makes QBXLayerPotentialSource a subclass. The end goal is to share code and functionality with a Nystrom layer potential source (#33) which is not yet implemented.