add optional 'before_invoke' parameter to WP_CLI::add_command()

this avoids repeating the command name and makes it clearer when the
callback is fired
Added basic wp.bat launcher for Windows environment.
colorize plugin/theme status legend. see #517
fix man page for `wp core is-installed`
fix synopsis for `wp media import`
various man page updates
misc man fixes

[ci skip]
remove empty line
update Composer dependencies
ignore composer.lock

Facts:

1. When WP-CLI isn't installed as the root package, composer.lock is
ignored.

2. The wp-cli.org installer doesn't install WP-CLI as the root package,
but as a dependency.

1. + 2. => Having composer.lock under version control gives a false
sense of security. Instead, we should take more care with how we define
dependencies in composer.json
output help markdown directly, instead of going through man
make help headings bright
prettify subcommand listing
partial cleanup of option listing
Clarity the `site empty` command doesn't do anything to the options table or users.
Manual for the `--yes` prompt
Fix reference to command
Drop the example entirely. Basic usage is covered in the synopsis
Merge pull request #550 from wp-cli/empty-clarity

Docs improvements for `wp site empty`
more cleanup of option listing