Support random level entries.

If a level exit or return exit uses a level entry, and that entry
exists multiple times, the entry used will be randomly selected.
Merge remote-tracking branch 'origin/feature-randomentry' into feature-returnstack
Implement saving and loading of return stack.