Fix drush test-run command for drupal 8

- Uses the TestDiscovery class for Drupal 8 and higher instead of the removed getInfo() method.
- Altered the variables passed into _simpletest_format_summary_line() to work for Drupal 8
Various fixes sound when debugging D8 test fails
Restructure user commands for OO

Similar to the SQL and Role commands, the User commands now use a UserSingle object with methods like cancel(), block(), etc.
Remove some dead draft code.
Remove a paragraph about code removed in #437
Fix syntax error at README.md.
More doxygen for new User classes.
Merge pull request #771 from drush-ops/libUser

Restructure user commands using OO pattern like Role commands
Merge pull request #773 from juampy72/readme-syntax

Fix plural error at README.md.
Merge pull request #772 from helmo/remove-obsolete-docs

Remove a paragraph about code removed in #437
Abbreviate class listing table by default.
Merge branch 'testrun8'
If a remote alias contains neither a 'root' nor a 'uri' element, than dispatch using an alias by default. This requires an alias of the same name be defined on the remote host; the benefit is that the root and uri for the site can be maintained on the remote server.
#765: Document remote site aliases.
Clean up formatting and debugging lines

* Removed commented statement
* Removed blank lines in docblock.
* Removed unused variable in drush_save_config().
Merge pull request #775 from juampy72/context-formatting-debugging-cleanup

Clean up formatting and remove commented out code.
Remove reference to call drush within an infinite loop in a script
Merge pull request #777 from juampy72/remove-drush-bash-script

Remove reference to call drush within an infinite loop in a script
Mostly test fixes so that sqlSyncTest passes on Drupal 8.
Update batch api processor for format_interval() change in Drupal 8.