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?
@ljharb: 

Use:
```
make TEST_SUITE=foo/bar test-sh
```

While a little awkward, it has 2 advantages:

* The makefile will find the `urchin` executable for you.
* You needn't worry about manually unloading an nvm instance from the current shell before invocation. 

Alternatively, you can still invoke urchin directly, though if you use the locally installed urchin, you'd have to either use an explicit path to it, or add `./nvm_modules/.bin` to the $PATH to invoke it.

A handy alias to have in your shell profile for doing this ad-hoc is the following:
```
alias nx='PATH=$(npm bin):$PATH'
```

This then allows you to invoke urchin like so:
```
nx urchin ...
```