Minor output change --
Added function to check for valid var names --

I added a function that checks if a string is a valid variable name to the
showcase script; I updated the showcase functions that check if a variable is
set and if a variable is a natural number; and I wrote and extended the tests
for all three functions.
Made comments slightly more consistent --
Replaces holds nat func with is nat func --

I replaced the holds a natural number function in the showcase script with the
simpler, and more useful, is a natural number function.
Completed print choice function --

The function is now much simplified, clean, documented and tested.
Fixed very minor comment typo --
Tidied basic test script --

I have moved the tests of the main function out of the basic test script into
their own script, and tidied up the basic test script (fewer subshells, unset
variables).
Extended and cleaned solicit choice test script --
Tidied start of main function --
Minor changes to make test scripts consistent --
Written preliminary main function and tests --