These changes remove an enormous number of compile warnings when compiling with clang.  This is useful because otherwise YouCompleteMe doesn't work.