More handling for "null" current/next activity - needed for the stop gates being removed.
Also now check that any activity being commenced isn't a live edit + not read only activity. This will stop any user that evades the stop gates from making activities after the stop gate read only - they will not be able to do the next activity. Given that the learning design is already loaded into memory, it shouldn't add greatly to the progress engine steps (not compared to everything else!)