rename Composite interface to CommandContainer

Command containers don't need to have an invoke() method, since they
don't have any implementation of their own.
regenerate man pages. see #229
only command containers can have subcommands
transform get_path() method into a standalone function

also introduce AtomicCommand interface
make load_command() protected
add_command(): move logic back to WP_CLI class
introduce AbstractCommandContainer class
introduce 'disabled_commands' config key
create new command instance on each invocation. fixes #257
move logic from CompositeCommand constructor to WP_CLI class
check disabled commands during registration, instead of during invocation
fix test_message_explains_that_config_must_be_present_before_install(). see #170
add phpunit.xml file
move phpunit.xml to the root dir
dismantle Dispatcher\traverse()
Merge pull request #256 from wp-cli/disable-commands

introduce 'disabled_commands' config key
tests: use system(), instead of futzing with sh and temp files
don't really need an Execution_Result class
use wp_insert_post() in `wp post generate` again.

fixes #217
minor cleanup in `wp post generate`