Improve bash completions

We already have tab completions for command and subcommand names. We don't have:

* completions for associative params for each command
* completions for some positional params, such as plugin slugs etc.

I'm thinking something like `WP_CLI::add_completion( 'plugin', 'Plugin_Command_Complections' );`

TODO:

* [x] fourth level commands don't show up at all
* [x] `wp bp core` completes with `wp core` subcommands
* [x] complete with filenames for certain commands (fixes #994)
* [x] complete with associative arguments, where available (fixes #547)