Partial refactoring (Ch1 line processing)

Some clean-up and redesign, add some unit tests.  Still very much a work
in progress but doing a commit to keep track of useful changes.
Further changes to ProcessLine

Still partway through what's become a fairly substantial redesign into a
"proper" command line app.
Need to:
- Sort out argument parsing and handling.  Reinstate ability to pass in
a file instead of stdin; general clear-up
- Related; planned experiment with an array of structs, including
functions pointers, for each option.
- Add more tests!
Benchmark check-in to safeguard progress

Dispatch table basically implemented but more work to do.  Not for
immediate sync to GitHub.
Rough working version with dispatch table

"Works on my machine" version...
Still needs:
- checking on Linux (& create MAKEFILE?)
- tidy-up of Windows version
- more testing
- further general rework & refinement