Makefile updates: "make help" and more

- Add "make help" as the default makefile target.

- Add/rearrange a few makefile dependencies to avoid confusion.

- Split "resetdb" into separate "dropdb", "createdb", "migratedb"
  targets to allow easier automation of "createdb".

- Drop unused "update-submodules".  I don't know how they fit in here,
  and we'll probably do better if we never use submodules in the first
  place.

- Make "setup-git" purely optional, because local pre-commit hooks can
  sometimes be pretty obnoxious:

    $ git commit --amend
    sh: 1: node_modules/.bin/jshint: not found
Initial Docker support

This gives us a simple, out-of-the-box setup process.  We build an
image, and people can deploy & configure it elsewhere.

See https://www.docker.io/ for general info.

It's still pretty new, but if you boot a modern Linux machine (e.g.
Debian sid), install docker.io with a recent kernel (~3.14), then run
"make docker-quickstart", you should get a nice localhost-only instance.

Run "make help" to see full help, and look at the Makefile to see how
this works.

Also, pull some samples out of the documentation so that we can
reference them.