Implement fallback to NS*SearchPathEnumeration

This is used when sysdir_*_search_path_enumeration is unavailable.

Unfortunately, iOS 9 does not support sysdir_*_search_path_enumeration.
When compiled with a newer SDK, the symbol is available during linking,
but not at runtime, resulting in a crash. However, newer SDKs also
dropped NS*SearchPathEnumeration, so that it is not easy to provide a
fallback. This means that we need to declare all enums, types and
functions rather than just including them.