A few things that are different:
* Async by default.
* Takes care of the order of formatters, if I ever need to do that.
* Allows for easily disabling formatting (unfortunately this is global
state, not buffer-local).
* Gets rid of the formatting pause when doing `:wq`.