Prevent execution for script debugging.
Added simple testing script and example.
Add assert method for tests.

This addition allows for better test debugging by printing the total
number of tests passed and failed as well as indicating which test
failed and why.
Protect equality arguments with double quotes.
Add new tests for configuration.
DO_CUSTOM should be DO_CUSTOM_CMD.

This was elicited by the newly added tests.
Add usage tests.
Better check for numeric arguments.

The previous check would fail on arguments like '5m'.
Print usage for too many arguments.

This was elicited by the addition of usage tests.
Better test conditional.

I was trying to separate arguments to preserve their values with quotes
instead of using the more appropriate "${@}" convention.
Must source functions at the beginning of each test.
More appropriate to remove tmp files when finished.
Add tmp file tests.
Report how long tests took.
Change DO_CUSTOM_CMD to DO_CUSTOM for simplicity.
Change DEFAULT_WORK_LENGTH test to realistic value.
Don't run vsleep in a subshell.

There is no reason to run vsleep in a subshell in this instance and the
$left variable needs to be set for the ctrl_c function to operate
properly on the following test.
Add tests for do_options logic.
Avoid using the date command.

Avoid using the date command where possible as it causes issues with
portability. Users of other systems can override the variable defaults
to specify their own programs.
printf time left message to terminal tab