Adapt Makefile for out-of-git usage.

Problem 1: When git packages a release, it doesn't add any of the submodules.
Problem 2: When the Makefile runs git submodule --init, it depends on
           .git being present.

Solution:
Glue together an unholy construction out of bash, sed, awk and grep,
which parses the .gitmodules file and clones the respective repositories.
(Currently it assumes that all of them are checked out if and only if one
(buzz) is checked out.)

Also, when outside a repository, rely on a Makefile VERSION variable
to set the software version (which should be a tag on github).
When *in* git, obviously, use `git describe` to find the version.
Also, only rebuild config.js if the version has changed.