Add checkpointing to intro.js

Add the ability for a programmer to specify a list of 'checkpoints'
When the user hits a checkpoint, they cannot go back in the intro.
The previousStep method won't work. This is for introductions that
change state, like for instance, showing a user how to create a new
entry in a database. After the entry is created, they've hit a
checkpoint and can't go back. This is so the programmer doesn't have
to write hacks to undo any changed state.