Start breaking EditingSession down into EditingActions

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.