Stop double clicking on non-input next/previous buttons showing multiple steps

If you use a non-input element for the next/previous buttons (e.g. a link) you can get into a state where multiple steps are shown on the screen at once but only one is functional.

To prevent this from happening I've added some code so that the next/previous actions are only run if the links are enabled.

Sorry about the large number of commits, I have had to revert the last changes I sent as I foolishly didn't create a branch - the overall diff is what I want to push though.