Merge android-port & kernel-cache feature

Android port for merge

Major changes are in enabling kernel-cache
pocl_util.c : 
pocl_choose_dir() - chooses root folder for caching
pocl_create_source_dirs() - searches for matching program in sub-directories
other changes are either retaining files for caching or deleting unwanted files after cmpilation
use /sys/devices/system/cpu/possible file to find num-cores. Some android kernel shows no processor info on /proc/cpuinfo
plus pocl-android-sample in examples/
What about when loaded using the binary interface, or from SPIR? Currently they are the same, but in the future the SPIR still needs compilation steps, while the binary interface might not).