Travis now runs checkpatch.pl

Note that this implies:
- If checkpatch.pl fails, Travis results is now "failed". In such a case,
  it must be checked that
  - checkpatch.pl fails for good reason (GP CamelCase style for ex.)
  - all the compilations steps are fine
- Signing the commit is now mandatory
     git commit -s ...
- When pushing several commits on the same branch (same pull-request),
  checkpatch.pl is run only on the code differences given by the
  the last commit

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Pascal Brand <pascal.brand@st.com>
Add support for per-directory/per-library/per-file includes, and per-library CPP flags

The new variables that can be used in sub.mk are:

  1) For includes: incdirs-y, incdirs-lib-y, incdirs-<filename>-y

For example, suppose core/lib/libfoo/sub.mk contains the following:

  # All source files declared in $(srcs-y) in this sub.mk will
  # have -Icore/lib/libfoo/include
  incdirs-y := include

  # All source files for the current library $(libname) will be built
  # with -Icore/lib/libfoo/include/baz (even files that are in other
  # directories)
  incdirs-lib-y := include/baz

  # In addition to the above, bar.c will be compiled with
  # -Icore/lib/libfoo/include/bar
  incdirs-bar.c-y := include/bar

  2) For CPP flags: cppflags-lib-y

For example, to add -DLIBFOO to all the source files that belong to the same
library, add this to any of the sub.mk files:

  cppflags-lib-y := -DLIBFOO

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU virt platform)