deleted unused defines in vim.h  #772
Prevent null-pointer deference during vim_eval  #785

If the eval_expr call in vim_eval returns NULL, a null-pointer deference
would happen a few frames down, in vim_to_object_rec
Add function attributes to functions in memory.h  #811

Add missing function attributes in memory.h. Fixes #806
Declare garray iterators in the for() scope where possible #819
coverity/62617: fix leak in set_string_default

Also constified the arguments. The double casts for the `xstrdup` are ugly
but `vim_strsave` doesn't take `const` arguments for now so I couldn't keep
that.
coverity/62615: fix leak in write_reg_contents_ex

Coverity detected a memory leak caused by not free'ing the value returned by
get_expr_line_src (basically vim_strsave(expr_line)). Replaced the copying
with direct manipulation of expr_line, since that also happens in other
parts of the codebase.

NOTE: I'm aware that this has different behaviour than vim_strnsave, namely
vim_strnsave always allocates `len` bytes, even if the string is shorter. I
don't see how that behaviour is helpful here though.
coverity/13770: add_keyword(), mark as false pos.

Also cleaned up the function a little bit.
coverity/13685: silence NUL-termnation fp

It was a false positive, but it can't hurt to "fix" it.

Original warning:
CID 13685 (#1 of 1): Buffer not null terminated (BUFFER_SIZE)
6. buffer_size: Calling strncpy with a source string whose length (4 chars)
is greater than or equal to the size argument (4) will fail to
null-terminate b0p->b0_version.
Merge #804 'Coverity fix resource leaks 1b'
SVG coverage badge #821
Replace vim_strncpy calls: add STRLCPY
Replace vim_strncpy calls: getchar.c
Replace vim_strncpy calls: file_search.c
Replace vim_strncpy calls: os_unix.c
Replace vim_strncpy calls: misc2.c
Replace vim_strncpy calls: ops.c
Replace vim_strncpy calls: mark.c
Replace vim_strncpy calls: os/users.c
Replace vim_strncpy calls: os/fs.c
Replace vim_strncpy calls: memline.c