Improve SELinux support check

If the kernel does not use SELinux security then the ramdisk
contents will not have contexts set on the files, however we may
still have everything we need in recovery if the kernel supports
EXT4 security labels, so we try to check /cache/recovery if it
exists first.

Change-Id: I96a4ae16418e07b0a2e83cd56e19893898d0b394
add errno.h to fix compile errors on other devices

Change-Id: I84196fb1358264b216b8505b990ae5a0406aa957