A crude, first version of a parser for entries in the form of

last name, i. m., address. title1. title2.--

Right now the parser does NOT separate on --, so split.
It also needs to be refactored into an object to allow
"resetting" the state machine for each new parsing run.
 Wimped out, didn't do OOP, just have a init() routine that will reset the state machine each time parse is called in ParseTwoFSM.pm
Anding a state machine approach to parsing through some of the basic
table of contents notes.

Seperating the "patterns" out to be processed in a couple
of different ways, would be useful to start doing some statistical analysis,
but likely need a larger part of the population for that.

First format can be done using regular expressions ( title / author -- title /author)

Second format (and possibly others) of
last name, x. y., person_title. work title1. work title2.--

Are more complicated, trying a state machien approach.
For this pattern it's ParseTwoFSM.pm (finite-state machine)

I'm being a little loose w/ the implementation, can make it
more standardized later if we end up needing more of these.

Currently have it so it can parse in the last name and initials.

Using t/play_with_parser.pl as scaffolding to build up the state machine,
with some dummy functions that work as the unimplemented states.
Added state for "person's title", based off of example of "., Sir".
 Implemented title parsing logic, seems to be some bugs, but mostly working. Need to investigate if it's bad input data or if there's some other bugs.
Several different tweaks

* First, added something to try to "guess" when a title contains
a form of address and hence shouldn't break on a period

Cleaned up some of the formatting of the fields, eliminating spaces
at start and multiple spaces in a row. Probably could clean up the
state machine a bit, but this also helps deal with human error.

Had to do some tweaking of the test cases to make the record
an "ideal" example, since I realize at this point there's
going to be bad data, but I want to get a reasonable
initial parsing that can be fixed later.