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?
Not necessarily - I often have untracked files like `npm-debug.log`, or files that are for in-progress changes. The only concern here is "what will get committed", and untracked files won't.

I've never used tag with "-a", but I'm fine adding it - as long as the tag name points to the right SHA, it should work fine.