Check for valid ID names in XML files

Check that each ID in any XML file matches the requirements as described at the documentation about layout and effects. Each ID has to match the following requirements: It has to begin either with one or multiple '_' (underscore) following by a character of ASCII character set  or it has to begin with a character of ASCII character set directly. Each following character in string can either be a digit, a character of ASCII character set or any of the following symbols: '_' (underscore) or '-' (minus).
Fix looking up ID in list of effects

The iterator to lookup effect by ID was not moved to next entry if the first one in list did not match resulting in an infinite loop always checking the first effect in list against requested ID.