Clean up the entire readme

In no particular order:

* Use `===` and `---` for first- and second-level headers. Though this is
  inconsistent with the method of displaying third-level headers and beyond, it
  makes reading the raw text much easier.
* Tweak prose in several locations for the sake of grammatical niceness.
* Use left-aligned lists, indent all sub-lists by two spaces and use the same
  list marker throughout (`*`). This makes the raw text easier to read.
* Use definition lists where especially appropriate.
* Wrap all text and code samples at 80 characters.
* Make the "Installation" section no more than three levels deep. Especially
  deep headers are hard to track mentally, and headers followed immediately by
  more headers are awkward.
* Convert the instructions for installing from source from an ordered list to a
  code block. This is more semantically appropriate, and it arguably looks
  better too.
* Make a few other tweaks for my own satisfaction.
I prefer not to have line breaks in example code so that cutting and pasting works.