Fix #838: build with "USE_BUNDLED=OFF" fails to find dependencies

Stop forcing some platform setting that are really intended to be used
for Travis CI.  Under other systems, like Arch Linux, it prevents
dependencies from being correctly located.
Merge pull request #844:

'Fix #838: build with "USE_BUNDLED=OFF" fails to find dependencies'
Fix #867: cmake doesn't issue `-isystem` for versioned gcc

CMake purposefully disables the use of the `-isystem` flag on Apple
platforms, but it's overly blunt with the detection.  Apple's compilers
have supported the flag since at least 10.4.  Let's force the switch to
be on when gcc/g++ is detected on an Apple platform to reduce the
warnings out of the msgpack-related bits.
Merge #887 'Fix #867: cmake doesn't issue `-isystem` for versioned gcc'
FileID: implement `FileID` struct

`FileID` should encapsulate `st_dev` and `st_ino`. It is a new abstraction
used to check if two files are the same. `FileID`s will be embeded inside
other struts like `buf_t` or `ff_visited_T`, where a full `FileInfo` would be
to big.
FileID: remove `INVALID_DEVICE_ID` macro
FileID: refactor buffer.c to use `FileID`
FileID: refactor ex_cmds2.c to use `FileID`
FileID: refactor file_search.c to use `FileID`
FileID: refactor if_cscope.c to use `FileID`
FileID: refactor path.c to use `FileID`
FileID: refactor os_unix.c to use `FileID`
FileID: make `os_stat()` static
FileID: remove last use of `st_ino` in memline.c

* FileID can’t be used in memline.c, because the block0 is defined to
use only a 32bit ino.
* implemented `os_file_info_get_inode`
* deprecated `os_file_info_get_inode
FileID: remove `CHECK_INODE` macro
Merge #775 'Implement `FileID` struct'
os: implement VimL libcall with {mch,os}_libcall

The old mch_libcall was removed from neovim. This is a partial
reimplementation on top of libuv. It doesn't catch exceptions (windows) nor
signals (unix) though, so it's quite a bit more prone to crashing if the
loadable library throws an exception or crashes. Still, it should be fine
for well-behaved libraries. Requested by @Shougo.
os: remove legacy mch_libcall

Remove as much leftover cruft as possible. Tried to see which globals are
now not used anymore.
libcall: remove libcall ifdefs

Remove all the legacy code that related to mch_libcall in some way.
os_libcall is implemented on top of libuv now.
Merge #802 'implement VimL libcall with os_libcall'