Bugfix: fix IPC messages writes with low buffer sizes (Thanks jasper, dcoppa)

Use the following command to reproduce this bug:

    echo 4096 | sudo tee /proc/sys/net/core/wmem_default

Then just switch workspaces with some windows on it and i3bar would
exit due to malformed IPC messages.

This bug hits OpenBSD users (and possibly other BSDs) due to their lower
default buffer size.

fixes #896
Merge branch 'master' into next
Merge branch 'fix-ipc-write'
ipc_send_message: use stack frame with fixed size
include stdint.h in i3/ipc.h (Thanks Kai)
i3-msg: include socket path in error message
ipc_recv_message: store message_type, don’t compare. add distinct EOF retval

Also use ELOG, which requires i3-msg to provide logging functions.
ipc: use ipc_recv_message instead of duplicate code

This should fix the situation where i3 would read only the header and
not the payload of the message.
Allow servers which do not support the XKB extension.

If we can open the X display but the XKB extension is not available,
continue without it.
Fixing continuous resize bug in floating mode

fixes #910
i3-input: set focus before sending the command (Thanks emias)

This avoids problems with sending 'focus left' or other commands which
manipulate focus.
Bugfix: fix “overlapping” --release key bindings (Thanks phlux)

We eagerly marked all KeyRelease bindings as eligible to match without
checking modifiers, while this should only be allowed for the key
binding which actually was pressed.

fixes #915
Merge branch 'master' into next
Merge branch 'fix-key-release'
i3bar: don’t use X11 borders to avoid overlapping in hide mode

fixes #923
i3bar: fix rendering positions
Bugfix: parse outputs as "word", not "string", to ignore trailing whitespace (Thanks leifarne)

fixes #921
Merge branch 'master' into next
Merge branch 'fix-workspace-ws'
Bugfix: fix crash when disabling output without any windows (Thanks xeen, knopwob)

fixes #919