Let Proactor return filled Future

The requirement that a Proactor should return an unfilled Future makes
Proactor implementation too complex. The requirement is relaxed in this
commit.
Remove done events before pselect

Done events have to be removed before computing pselect arguments to
avoid incorrect pselect call that would block indefinitely.
Awaiter: one user-provided trigger (successful future)
Awaiter: one user-provided trigger (failed future)
Awaiter: two user-provided triggers in one trigger set
Awaiter: two user-provided triggers in two trigger sets
Merge pull request #97 from magicant/feature/awaiter-usertrigger

Support user-provided triggers in Awaiter