Added illegal state check for loading XML scenarios

- Previously it was possible to add an XML file with two objects that
had the same 'features', which is probably always incorrect to do, so if
that happens, an exception is now thrown