Upgrades to bob-walker

This PR does a number of things:

1. As an early christmas present to @rjw1 I have replaced the small shell script with a small perl script
2. I have implemented a programming mode
3. I have implemented a christmas mode
4. Most importantly, this was all looking a bit repetitive, so I have implemented RANDOM MODE (works best will all the other modes enabled)

/cc @annashipman @mikepea