Implement the wrapping of command and option descriptions

Implemented as suggested in issue #123

Formatting tweak to make descriptions wrap and align vertically with the command/option description blocks

Output prior:

```
  Usage: test [options] [command]

  Commands:

    long                   This is a long command description. The purpose of this is to demonstrate how command descriptions will wrap over multiple lines
    short                  This is a short command description

  Options:

    -h, --help   output usage information
    -l, --long   This is a long option description. The purpose of this is to demonstrate how option descriptions will wrap over multiple lines
    -s, --short  This is a short option description
```

Output after:

```
  Usage: test [options] [command]

  Commands:

    long                   This is a long command
                           description. The purpose of this
                           is to demonstrate how command
                           descriptions will wrap over
                           multiple lines
    short                  This is a short command
                           description

  Options:

    -h, --help   output usage information
    -l, --long   This is a long option description. The
                 purpose of this is to demonstrate how
                 option descriptions will wrap over multiple
                 lines
    -s, --short  This is a short option description

```