Remove `alloc_clear`

Use `xcalloc` instead.
Inline `alloc_tv` and `alloc_string_tv` in eval.c
Remove code and checks for unsupported systems.

Remove remnants of support for systems including
__EMX__, MSDOS, OS2, AMIGA and MORPHOS.
Call to list_append_dict cannot fail.

Clean up the use of list_append_dict and remove error checks.
Call to list_append_string cannot fail.

Clean up the use of list_append_string and remove error checks.
Remove useless modelines (pt2)
Use portable format specifiers: Case %ld - plain - sscanf.

Fix uses of plain "%ld" within sscanf():
- Replace "%ld" with "%" SCNd64.
- Create (int64_t) local variable and sscanf into that.
- Safely downcast into previous type (introduce assertion, to be removed
  when variable type refactored).
Fix garray.* according to -Wconversion
Use portable format specifiers: Clarify some casted expressions.

Though correct (to my understanding), some of the casts introduced in
previous commits could lead to confusion, by casting only the first
expression component instead of the whole expression.

This fixes that, parenthesizing casted expressions, except where
operator precedence rules make it unneccesary.
Use portable format specifiers: Improve arguments formatting.

At some places, printf-like function's arguments styling could be
improved to enhance readability.
vim-patch:7.4.264

Problem:  Can't define a function starting with "g:". Can't assign a
          funcref to a buffer-local variable.
Solution: Skip "g:" at the start of a function name.
          Don't check for colons when assigning to a variable.

https://code.google.com/p/vim/source/detail?r=00acac0af680c2d8c82db5258474b121a5908926
test: fix the cimport method

This commit will hopefully allow the cimport method to be used just as one
would use #inclue <header.h> in C. It follows the following method:

1. create a pseudoheader file that #include's all the requested header files
2. runs the pseudoheader through the C preprocessor (it will try various
   compilers if available on the system).
3. runs the preprocessed file through a C formatter, which attempts to group
   statements on one line. For example, a struct definition that was
   formerly on several lines will take just one line after formatting. This
   is done so that unique declarations can be detected. Duplicates are thus
   easy to remove.
4. remove duplicate declarations
5. pass result to ffi.cdef
test: no longer define ad-hoc C headers

With the improved cimport helper, we can just load what we want.