Ignore event spams of keys we already have

A key press should only cause a state change if the key wasn't pressed
before.
Add missing range-check in hotkey_dag_get_next()
Check whether interested in release event before processing it

This saves us a little bit of overhead.
It also prevents waysome from producing a deceptive log messge.
Exit if exec failed in the child

In the child process, do not return, no matter what.
Restore effective user id and group id
Merge pull request #516 from neithernut/fix-exec

Fix exec
Omit unnnecessary branching in exec code
Merge pull request #517 from neithernut/mod-exec

Omit unnnecessary branching in exec code
Remove ws_value_named support from ws_value_union type
Remove ws_value_named support from value type helpers
Remove ws_value_named header from objects/object.c
Remove ws_value_named header from values/utils.c
Remove ws_value_named type
Merge pull request #513 from neithernut/add-hotkeys-ignore_multiple_presses

Ignore event spams of keys we already have
Merge pull request #518 from matthiasbeyer/remove-named_val

Remove ws_value_named type
Add includes to utils/socket.h
Add doxygen comment frame
Add the types ws_socket and ws_socket_client
Add ws_socket_init()'s definition
Add ws_socket_new()'s definition