enable coveralls support
Move simplify_filename from tag.c
Move functions from window.c
Move fix_fname from buffer.c
Move after_pathsep from misc2.c
Move same_directory from misc2.c
Move pathcmp from misc2.c
Move mch_expandpath from os_unix.c
Move shorten_fname{,1,s} and shorten_filenames from fileio.c
Move expand_wildcards{,_eval} from misc1.c
Move match_suffix from misc1.c
Move shorten_filenames back to fileio.c
Move signal handling to libuv event loop

This removes all signal handling code from os_unix.c to os/signal.c. Now signal
handling is done like this:

- Watchers for signals are registered with libuv default event loop
- `event_poll` continuously calls `poll_uv_loop` to produce events until it
  receives user input, SIGINT or a timeout
- Any signals received in `poll_uv_loop` will push events to a queue that is
  drained and processed by `event_poll`

Signals aren't handled directly in the libuv callback to avoid recursion in the
event loop(which isn't supported by libuv).

The same principle will apply to other events in the future: Push to a queue
from a libuv callback and drain it from `event_poll`
remove HAVE_DATE_TIME

__DATE__ and __TIME__ are C99 standard predefined macros.
remove HAVE_FLOAT_FUNCS
remove HAVE_RENAME

rename is a C99 standard function.
remove HAVE_SIGCONTEXT
remove HAVE_STDLIB_H
remove HAVE_STRERROR

strerror is a C99 standard function.
remove HAVE_STRFTIME

strftime is a C99 standard function.