Exit immediately if a command in a recipe fails

In commit:
    4bd03236c9ae41fb73e86771275206e05c607f96
and
    f5d9fc2629df3c55585faba30b59f398e7716127
the stamping of the target was moved out of the `make_cmd` define and
out into the recipe of the target itself.

The effect of .ONESHELL: being set changes how make recpie execution
works.

The example in the GNU/Make manual:
http://www.gnu.org/software/make/manual/make.html#One-Shell

```
.ONESHELL:
foo : bar/lose
        @cd $(@D)
        @gobble $(@F) > ../$@
```

Without .ONESHELL:, if ```cd $(@D)``` failed, then gobble would not get
called, the recipe execution would stop at the end of the failing cd
command.
With .ONESHELL:, the execution continues.

In the code in inc/common.mk, even after:
$(MAKE) -C $(1) $(2) || {
    echo "Make $(2) failed in $(1)"
    exit 1
}

and the $(MAKE) command fails, and execution moves into the code brace
on the other side of the or (||) to eventually call exit 1, the code
back in the recipe $(call make_cmd...) was called in would continue to
execute.

Soooo, we add '-e' to .SHELLFLAGS in the main makefile, and we remove
the pushd and popd around the make command in make_cmd and revert to
using -C from commit: 4d4be6bf7fe40c035fc9ebe4c72895a2af8e2b29

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>