Change equations set specification to an array

Rather than having separate class, type and subtype attributes, the
equations set type now has a specification array that is allocatable so can be
an arbitrary length to provide more flexibility when specifying problems.