Clear the values of pipe before calling handler.

Applications are stuck when handler of pipe made nested loop.
In the nested loop, _ecore_pipe_read() tried to read new data based on
previous information which is not cleared yet.

Backport from commit 203006799186d47851509514786d05b4ae7fb644
on https://git.enlightenment.org/core/efl.git
improve and fix various issue in Ecore_Exe windows implementation.

Backport from commit b9d2972739b1bb1aaf5e6864e98d89a9219d8aca
on https://git.enlightenment.org/core/efl.git
fix ecore_thread_global_data_wait to work when no data exists yet

his is based on feedback from wonil choi, where this didn't work
right. this also has an if check for the hash itself.

Backport from commit ddc09dd04ec56facc494760a381dc5a429d8c699
on https://git.enlightenment.org/core/efl.git
logically this check is redundant.

remove check so that prevent tool doens't notify this anymore.

Backport from commit df60e63bf9968a4528577762a7da262466ac7683
on https://git.enlightenment.org/core/efl.git
Avoir possible crash if alloc failed
Revert "logically this check is redundant."

Backport from commit 28871750b79f6bbb6b08ec8e7796d67aafa59f14
on https://git.enlightenment.org/core/efl.git
Revert bad patch.
Fix warnings with sig_atomic_t being a long on FreeBSD.

Backport from commit 6d320cac20e050442b7a028cdedb622d3cf81df7
on https://git.enlightenment.org/core/efl.git