Add commander dependency
Add bin/jekyll2 and initial BuildCommand

The `BuildCommand` class is responsible for handling the building of the site.
It can also optionally watch for changes to files and regenerate the site if
needed.

The `Command` class holds any methods which are used by any command
implementation.
Add initial serve command

The `ServeCommand` will let you serve your site locally for development. You
can specify `--port`, `--host` and `--baseurl` options if you wish to change the
defaults.

Additionally the `BuildCommand` will be called before the processing of the
serve command, this makes sure that the site is actually built. This means you
are able to pass the `--watch` option to auto-regenerate your site, even while
serving it locally.
Update global options and command descriptions
Update loop position so trap handler is used
Add missing ] in self.watch string
Update Jekyll.configuration to convert symbol keys

Because Commander uses symbol keys in the options hash and I don't want to go
back backport every hash string key to symbols in Jekyll. :star:
Update the sym->str key conversion
Update to make the help command default
Rename Args to Options in command docs
Add TODOs for current switches
Add LSI option for build and serve commands
Remove comments
Add initial MigrateCommand

Not all migrators can actually be calld from the comand line. Some require
options which are not passed in and have to be called by other means.
Update the Jekyll command for features testing

:star: :metal: :star2:
Remove command options from default config

Removing command line options from the config is a path towards cleaning up the
configuration file and not including options which don't really belong there.
Remove migrators
Merge branch 'master' into 'jekyll-command-redux'
Remove old jekyll command
Revert "Remove migrators"

This reverts commit b9da30bc8ffa4a2d0a9280e755d0904609d4fc97.