Fix custom recovery & kernel build

Also allow a device to generically define its own headers

Squashed commit from CM & slightly modified for lollipop

Change-Id: I459eeb0619e19805b3861858bd902eaa5af52303