[WIP] Refactored ReplaceStrategies into Commands

Fixes #19, almost completed

Tests are currently failing because I didn't yet updated the 4 `EditorSpec` manipulation methods. I'm not sure how to properly write test with phpspec about correct command being created inside the related Editor's method. Waiting for some feedback on this point :wink: 

Moreover, I'm not really satisfied with the current solution because a `LineContentConverter` is instantiated each time a Command is created.

I hope the current architecture isn't too awful and is now opened for some review :smile: 

- [X] Create commands
- [ ] Fix tests
- [ ] Remove replace engine and strategies




File and location should be `execute` argument. Each command should be able to have a custom constructor (you might inject a `LineContentConverter`, but you could inject many other dependencies if required).