Updates for Command and CommandPasser functionality

Commands can now have context-specific settings and these settings can also have
flags which can be passed to the command. These can be specified in the
context configuration:

    {
      "mycontext": {
        "acommand": {
          "options": {
            "path": "/some/path"
          }
        }
      }
    }

If a command settings has an "options" list, it will be used to generate flags
for the command. In the example, "--path=/some/path" will be added to the
command.

The CommandPasser commands will take advantage of these immediately, but Command
objects will need to manually add them currently.

The Drush command takes advantage of this and gets the ability to use Drush
aliases in context specific ways. You can specify an aliases setting with a
default alias and other key-based aliases. See the README.
Updated README for command specific commands, fixed bug with commands