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
move update_screen() flags to screen.h
move values for find_pattern_in_path() to search.h
move HL_* variables to syntax.h
move VALID_* defines to buffer_defs.h
move WILD_* defines to ex_getln.h
move EW_* defines to path.h
move FINDFILE_* defines to file_search.h
move SST_* defines to syntax_defs
move/remove W_* macros

move W_ENDCOL to screen.c
remove the rest of the W_* macros
Remove unnecessary (int) casts and fix style
removed whitespace from  ROOT_UID define.
Merge #774 'Move defines from vim.h to other header files'
spelling fixes #827