Introduce Command Factories to build commands.  Massive BC Break.

This is a relatively massive refactoring of the library to separate out
responsibilities from the command classes.

The Browser/Editor/Pager classes no longer have command-locating logic
in them.  They are initialized with the path to the [presumably-valid]
command.  They merely wrap the command with nice behaviors for executing
the command in different ways.

The BrowserFactory, EditorFactory, and PagerFactory classes are the
primary entrypoint into the library.  They wrap the appropriate strategy
to locate the user's preferred command and create the command class.

The BrowserStrategy, EditorStrategy, and PagerStrategy classes wrap the
supplementary strategies in order to locate the command appropriately.
The CommandLocator and Environment "strategies" are abstract behavior
that the primary strategies share.  None of the strategies are part of
the public API of this library.

An example of using this library is here:

```php
use Nubs\Sensible\CommandFactory\BrowserFactory;
use Nubs\Which\LocatorFactory\PlatformLocatorFactory;
use Symfony\Component\Process\ProcessBuilder;

$locatorFactory = new PlatformLocatorFactory();
$locator = $locatorFactory->create();

$browserFactory = new BrowserFactory($locator);
$browser = $browserFactory->create();

$browser->viewURI(new ProcessBuilder(), 'http://www.google.com');
```