Add image to 'top_level_design.md'.

Also give several .dot files more fitting names.
Add image to developers guide document.

The added image illustrates how the Phoenex kernel handles thread switching.
Move references up a directory level.

The file `links.txt` was alone in the `references` directory. There was no
apparent reason for this organizational choice. Moving the file up a directory
level to live with all the other documentation seems to make sense.
Create script to generate documentation.

Script is called `gen-docs.sh`. Script copies files from a source directory to
a destination directory, compiling dot and markdown files in the process.
Move documentation to `src` directory.

This move more clearly separates "raw" documentation (markdown and dot files),
generated documentation (html and svg files) and the script that manipulates
them (gen-docs.sh). This also cleans up some niggling issues with `gen-docs.sh`.
Formerly, the script would copy itself into `gen` when generating documentation.
Separating the script from documentation prevents that from happening.
Add a README.

The new `README.md` file explains the purpose of the `src` and `gen` directories
and the `gen-docs.sh` script. It also provides various admonitions and pointers,
such as "Don't place the contents of `gen` under version control" and "You need
markdown installed to compile documentation".