[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




Yes, I wasn't clear about that, sorry: the resolve should be done in `CommandInvoker`.
In the editor, we should have something like this:

```php
public function addAfter(File $file, $addition)
{
    $location  = $file->getCurrentLineNumber() + 1;
    $input = array('file' => $file, 'location' => $location, 'addition' => $addition);
    $command = $this->commandInvoker('insert', $input);
}
```

In my previous example, I just wanted to mention that commands should have a `getName` method so that `CommandInvoker` can find them by name.
Or we could just do without names and try to detect which command is appropriate, depending on the given input parameters (but I'm not sure this is entirely possible).