RFC: Introduce automatic formatting of Python code

I know very few about Black so I did a quick investigation. The biggest difference is that yapf may have non-deterministic results in the same code; while Black guarantees the deterministic results.

In addition, although Black has much fewer options than yapf, looks like we can still customize the column width (Black sets the default to 88).

In summary, Black seems more suitable to play this role.

Reference: