Allow usage text to be passed as a string.

Don't panic, 77 of the added lines come from copying the Naval Fate testcase to pass in a string.