Adds subparts to the regulation tree

This parses subparts, and creates a new type of a construct called an emptypart when there is no subpart to maintain consistency in the tree. This is also useful when there are sections that are before the first subpart.