Makefile enhanced to error out with instructions if invoked without a target.

`Makefile` enhanced to install required test utility `urchin` on demand locally, via `npm install`. The shell command that locates the urchin executable was amended to also find a locally installed version, not just a global one as before.

Note that invoking just `make` (without a goal) currently (still) only runs the `sh` test (at least on my OS X 10.9.5 machine). Is that the intent?
Added to the latest update.

However, wouldn't it be safer to also check for untracked files? If you habitually end up with such files, perhaps they should be added to `.gitignore`.

Also, shouldn't the tag be an _annotated_ tag (`git tag -a "v$(TAG)"`), so as to have metadata associated with it (who tagged, what time, ...)?