core: allow devices to provide their own device specific kernel headers
core: allow devices to provide their own device specific kernel headers

Currently, we need to pollute the common bionic/libc/kernel/...
directory with device specific kernel headers. This has created a giant
dumping ground of headers from all the projects we have ever done.

Allow each device to provide their own headers and thus eventually allow
bionic/libc/kernel to become *just* the common linux kernel headers.

This change will automatically add device/oem/name/kernel-headers to
the include list and also allow the BoardConfig.mk to specify
additional directories with TARGET_BOARD_KERNEL_HEADERS variable.
The requirement is that the final dir name must be kernel-headers to
mark explicitly where kernel headers are kept.

Change-Id: I7d32a979eef1f464db06c1bc448a04ddc3575efd
Signed-off-by: Dima Zavin <bed3f98d0a894717be46c58ffa90302af9946688@android.com>

xorware/android_build,xorware/android_build,hagar006/platform_manifest,Hybrid-Power/startsync,xorware/android_build,xorware/android_build,pranav01/platform_manifest,RR-msm7x30/platform_manifest,xorware/android_build,ND-3500/platform_manifest,see4ri/lolili,knone1/platform_manifest,fallouttester/platform_manifest