Append4 final

@pchiusano @fthomas @radekm 

I have created the pull request and as we expected is quite a massive one :-(

Anyhow on wiki are the release notes which I think has to be updated, I just wrote some of the stuff in. 
Lets review this and when we will be ok with whats in we just can do final formating and merge. 

Also notably, the tests are passing :-)

P.

There is a function `enqueueOne: A => Task[Unit]`, but no corresponding `dequeueOne: Task[A]`. This interface is much more useful as a concurrency primitive if it exposes `dequeueOne` publicly. Also, `enqueue` / `dequeue` (the `Sink` and the `Process` can be given implementations in the `trait` in terms of `[en/de]queueOne`. Could you make this change?