Move line state into its own class lineSet

— Added config option for start player.
—Added property for current player.
— Refactored line logic into lineSet object.
— Added lots of validation in lineSet for valid lines.
— Added utility module.
— Lots of tests.