Drush backend for update_status engine

This backend is independent of update.module.

The governing option is `--update-backend=drupal|drush`, where `drupal` is the backend that rely on update.module, and `drush` the new one. 'drupal' is still selected by default.

This backend uses `\Drush\UpdateService\Project` (a spin off `release_info` engine) and drush file cache. It doesn't require update.module, don't do anything on the drupal database and works across drupal 6,7,8 (and probably in drupal 5 with minor tweaks).

Examples of usage:

```
drush pm-refresh --update-backend=drush
drush pm-updatestatus --update-backend=drush
```

Tests are performed on both backends.

There's still some things pending:

 * Don't store the $xml object in `\Drush\UpdateService\Project`. This prohibits serializing the object for caching.
 * Obtain update status of disabled projects. Drupal backend relies on a checkbox in the update.module settings. Drush backend goes ahead and check disabled projects always. Probably we should add an option to control this to the drush engine or the pm-updatestatus command for both engines.

This reminds me of #533. This issue adds another cache that will need occasional clearing.