windows: fix uninitialized local variable warning

Pass the user-returned buffer to the read calback. Fixes the following
warning:

    src\win\tcp.c(439): warning C4700: uninitialized local variable
    'buf'
windows: fix missing return value warning

Fixes the following warning:

    src\uv-common.c(476): warning C4715:
    'uv__getaddrinfo_translate_error' : not all control paths return
    a value

The function never returns - the final statement is a call to abort() -
but it seems MSVC's program flow analyzer is too weak to figure that
out.
build: fix string comparisons in autogen.sh

Compare strings with '=', not '=='.  The second form doesn't work with
all shells.

Fixes #876.
windows: move INLINE macro, remove UNUSED

Move the INLINE macro from src/uv-common.h to src/win/internal.h, it's
not used in src/unix/ or src/

Remove the UNUSED macro. It's, well, unused.
unix: clean up __attribute__((quux)) usage

Macro-ify __attribute__((destructor)) and __attribute__((unused)).

The macros are no-ops when the compiler does not support function
attributes.
sunos: remove futimes() macro

Remove a macro from src/unix/internal.h that aliases futimes() to
futimesat(). Deal with the platform inconsistency in src/unix/fs.c.
unix: fix uv__signal_unlock() prototype
unix, windows: allow NULL async callback

Allow a NULL callback so the user doesn't have to provide a dummy when
the actual event is processed by e.g. a check handle callback.