Add @api phpdoc tags to document the public API.
Add an editFile method to Editor.

Sense editing files is a common behavior for the Editor, it makes sense
for this class to provide access to this behavior.

I'm using the Symfony Process Component to build the command to execute.
It works nicely in this kind of scenario because we don't have to
require it as a dependency.  PHP is good at letting us get by without it
until the method is actually called (and even then mock classes can be
used).  This keeps dependencies of this package down without sacrificing
the functionality.
Add method editData to editor.

In addition to editing files, it is also useful to edit a string (using
a temporary file).  This method provides a simple wrapper around
editFile that handles this.