CTor for DiscreteFunctionSpace.
I'm proposing a somewhat minimal but yet intrusive change to the creation of discrete function spaces. For some DFS the polynomial order is a parameter chosen at run time and thus passed to the constructor, e.g. DynamicLagrangeDiscreteFunctionSpace and basically all of the hp spaces.
This requires basically all spaces to have a constructor, in addition to the existing ones, that looks like this:
DiscreteFunctionSpace( const GridPart& gridPart, const int order = defaultOrder, const InterfaceType commInterface = InteriorBorder_All_Interface, const CommunicationDirection commDirection = ForwardCommunication )
Any objections or better ideas?