Remove sizeof(int) < 4 related code
Broken build on 32 bit: Fix -Wshorten-64-to-32.

Problem:

[ 48%] Building C object src/CMakeFiles/nvim.dir/os/mem.c.o
/Users/eliseo/projects/os/neovim/src/os/mem.c:9:32: error: implicit
conversion loses integer
      precision: 'uint64_t' (aka 'unsigned long long') to 'long_u' (aka
      'unsigned long')
            [-Werror,-Wshorten-64-to-32]
              return uv_get_total_memory() >> 10;
                ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~

Solution:

Avoid conversion. Make function return proper uint64_t.
Make users of the function accomodate the value if too big for them.
Broken build on 32 bit: Fix -Wtautological-constant-out-of-range-compare.

Problem:

[ 51%] Building C object src/CMakeFiles/nvim.dir/os/rstream.c.o
/Users/eliseo/projects/os/neovim/src/os/rstream.c:237:24: error: comparison of constant
      9223372036854775807 with expression of type 'size_t' (aka 'unsigned long') is always true
      [-Werror,-Wtautological-constant-out-of-range-compare]
  assert(rstream->fpos <= INT64_MAX);
         ~~~~~~~~~~~~~ ^  ~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
    (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
                        ^

Solution:

Upcast rstream->fpos to (uintmax_t) to avoid warning in this particular
case (libuv strangely not using usual types for sizes/offsets).
By @aktau (Nicolas Hillegeer).