This PR is the start of refactoring EditingSession.
Before continuing I'd like to know if you are happy with what I have done and what things I need to change.
One thing I'm not sure about is the location of IndentationDetector, maybe it should be in Services instead of Model?
Also I think it would be sensible to adopt using LineCollection (maybe rename it to Lines?) throughout the code base where ever string arrays of lines of code are passed into methods. In this case it would make sense for Line, LineCollection and IndentingLineCollection to exist in a more generic namespace than QafooLabs\Refactoring\Domain\Model. Thoughts and suggestions?
I look forward to some feedback.
Break EditingSession down into individual editing action classes.