filepush: Get rid of eThread::sync

The sync call is way to complicated for what it is used for here. All the
client wants to know is "did I start yet?" which it can easier tell by
looking at its own "m_stop" value.

The intention here is to get rid of the eThread::sync method alltogether.
lib/base/message.h: Use eventfd instead of a pipe

An eventfd uses much less resources than a pipe. A pipe allocates a
~64k buffer and two filehandles. An eventfd is only an uint64 in the
kernel.
filepush.cpp: Fix "kill" arguments

eThread::kill takes a boolean argument, which defaults to "false".
Don't supply a "0", just use the default so we can remove it.
epgcache: Remove eTread::sync usage

All it wants to know is whether it can start sending messages to the
thread, which is already the case even before the thread runs. Just
use the m_running member for this, hence also fixing the fact that this
boolean was written in another thread without a memory barrier.
eThread fixups: Remove "sendcancel" and make sync private

Warn when someone forgot to call kill (which should have been named
join).
Make 'sync' private now that it is unused externally.
Remove the "sendcancel" argument from kill, and move its functionality
into another method called abort_badly().

eHttpStream is the only class to ever call abort_badly, which has been
named "abort_badly" for good reasons (it will leak resources).
picload.cpp: Fix race in thread code

run() returns after hasStarted was called. Move the threadrunning set
to before that call, also to place a memory barrier behind it. This makes it
so that threadrunning is true after run(). Otherwise, there's a tiny chance
that the thread is running but threadrunning is still false.

It would be simpler to just keep that boolean in the main thread.
Merge branch 'master' of git://git.code.sf.net/p/openpli/enigma2