issue-443: Tune object number transfered between lists

This patch increases the number of object transfered from central
list to thread list from 32 to 32678. This increases performance
in most cases, especially on multiple allocations of the same size.
It also adds the environment variable TCMALLOC_TRANSFER_NUM_OBJ
to tune its value.
Update README with PowerPC specifics notes
issue-496: Fix possible deadlock in thread+fork

This patch adds a pthread_atfork handler to set the internal
locks in consistent state.
Fix compiler warnings
issue-490: Add support to {Acquire,Release}_AtomicExchange
issue-491: Fix lost wakeups in spinlock

In uncontended cases, SpinLock::{Lock,Unlock} have an overhead of 13ns.
In cases where the lock is contended, SpinLock::Unlock has a bug where
it can fail to wakeup waiters, causing the overhead of
SpinLock::{Lock,Unlock} to blow up from 13ns to as high as 256ms. In
cases of heavy lock contention, this can cause applications to sleep
for minutes at a time without doing anything, appearing to hang.

The following fix slows down SpinLock::Unlock by 2ns in the uncontended
case, but speeds up SpinLock::Lock by up to almost 256ms in the
contended case where a wakeup ix mixed.