README update
The buffered channel with capacity greater than 1 is back. So is the Queue.

(but the Queue may remain for much longer.)
Cleanup.
Merge back
Reduced the number of unnecessary pthread_cond_signal() calls.

It costs a little more bookkeeping, but at 30ns per call it doesn't take a lot of avoided ones for the bookkeeping to be worth it.
In the case of buffered channels, the savings are at least 30ns per send/receive pair, since signal was always called twice, but can logically never be needed both times.

Overall, this 30ns gain is only 1% of one message passing delay, but optimization must start somewhere, and everything counts.

Note: the N-element buffered channel is 400ns per send/receive pair than the 1-element buffered channel. The queue (linked list) solution is clearly too costly.
Housekeeping.
Updated readme
Updated readme
Added an implementation of BufferedChan that uses a circular buffer rather than a linked list as its backing store.

In principle, this should be faster than the linked list; nearly as fast as Buffered1Chan, even.
A compiler or library bug prevents this, however.

Also:
- moved the override of "var capacity" down to the subclasses of BufferedChan. It never had business being where it was anyway.
- simplified the initializer structure for BufferedChan and children
Initializer cleanup, typo corrections, comment improvements.
A thread-safety improvement for the GCD channels.

Merged some cherry-picked changes from the main branch.
Cleanup to mirror the cleanup in chan-pthreads

Also changed all the modifications to the blockedWriters and blockedReaders counters to use atomic operations with barriers.
Merge branch 'gcd-channels' of github.com:glessard/swift-channels into master

There is no point in keeping a separate branch for one file.
Having both `chan-pthreads` and `chan-blocks` around will make it easier to evolve both in parallel.
Trimming and reordering. Missing comments added.
Clarification in readme

Also:
- logging.swift untangled from timing.swift
- changes in chan-benchmark, side effects of testing the array-based buffered channel.