Makefile.include: support extending CLEAN with directories

Use recursive remove for $(CLEAN) to support applications that extended it
with directories that should be removed.
Makefile.include: support make clean all

Historically $(OBJECTDIR) was created when Makefile.include is read.  A
consequence is that combining "clean" with "all" (or any other build
target) results in an error because the clean removes the object
directory that is required to exist when building dependencies.
Creating $(OBJECTDIR) on-demand ensures it is present when needed.

Removed creation of $(OBJECTDIR) on initial read, and added an order-only
dependency forcing its creation all Makefile* rules where the target is
explicitly or implicitly in $(OBJECTDIR).
Merge pull request #279 from pabigot/push/make-clean-all

Add support for subdirectories in CLEAN and for "make clean all"
changed inter packet interval to 0.4ms
Merge pull request #224 from JelmerT/hotfix-contikimac-inter-packet-interval

Hotfix contikimac inter packet interval
[ci] Remove pointless `$MAKE_TARGETS` -

1. there was an odd error when this environment variable wasn't set
    (`[: =: unary operator expected`)
2. this environment variable is not used anywhere else

Removing it makes the logic look much simpler - do make `cooja.jar`
if build type is any other then `compile`.
Merge pull request #186 from errordeveloper/remove_make_targets_env_var_for_travis

[ci] Remove pointless `$MAKE_TARGETS`