Port VECTOR_ELTS_MAX to older GCC etc.

Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-12/msg00182.html
* src/alloc.c (VECTOR_ELTS_MAX): Now a macro.
Needed for portability to older GCC and non-GCC.
1 job for master in 4 minutes and 52 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
failed #235
test

00:04:52

 
Name Stage Failure
failed
test Test
exec-shield in etc/PROBLEMS for more information.
**************************************************
20785472 of 33554432 static heap bytes used
Makefile:748: recipe for target 'bootstrap-emacs' failed
make[1]: Leaving directory '/builds/tzz/emacs/src'
make[1]: *** [bootstrap-emacs] Segmentation fault (core dumped)
Makefile:421: recipe for target 'src' failed
make: *** [src] Error 2
ERROR: Job failed: exit code 1