Add check for certain elements that the correct children exist.

For elements that can have children or nilReason attributes it is possible to have the element defined but no children and the xsd validation passes even though the metadata should not be considered valid.

For example gmd:citation can either have nilReason or CI_Citation as a child.  However no errors are raised if the gmd:citation element is present but has no children or a nilReason attribute.  This commit adds checks for some of these cases.