Simplify dependency error messages.

The messages from the CQ when we have dependency errors can be quite
confusing. Here is an example:

Patch gabeblack:168533:9b88f5e8 depends on
Ia1a29f3e07a6f63576865ab68cc3ddf546703bc5 which has an error: Patch
gabeblack:168532:0366905b depends on
I1b49fc58d7f92691692434024ac5dba73005941c which has an error: Patch
gabeblack:168531:7b6eab93 depends on
I04a6d85311b07df8b437f724998174c8e92cff15 which has an error: Patch
gabeblack:168530:22f0bc6c depends on
Ib3233bda977d99b340a05b6889de3f545f4d3f55 which has an error:
gabeblack:168519:c1946ddf isn't committed, or marked as Commit-Ready.

This CL updates the error messages to look like this instead:

Your CL depends on CL:168532, which depends on CL:168531, which depends
on CL:168530, which depends on 168519, which isn't committed, or marked
as Commit-Ready.

While we're at it, always reset 'self.args' so that each class doesn't
depend on parent's arguments

BUG=chromium:313736
TEST=Run with failing patches.
Change-Id: Idc300157bd0379d8e3ed2317e9a38da6cf61485a
Reviewed-on: https://chromium-review.googlesource.com/175307
Reviewed-by: David James <davidjames@chromium.org>
Commit-Queue: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
3 files changed