The spinlock statistics are relatively large (about 10KB), don't include
them in the WT_CONNECTION_IMPL structure unless we're configured for
pthread_logging mutexes.  (It's hard to allocate them on demand because
the spinlock functions can't return errors, so I used an #ifdef instead.)
Minor cleanup of hardware.h, shuffle some things around, improve lint
versions of memory barrier macros.
A couple of minor tuneups: WT_PAGE_DISK is gone, (void) followed by
an identifier is what we're interested in, not non-identifiers.
KNF
Replace the per-btree handle spinlock with an array of 256 spinlocks in
the connection structure.   When a page is first modified, the
sequentially next spinlock is assigned to the page, and then the page
uses that spinlock to serialize its modifications.

Reference #721.
Don't block looking for obsolete WT_UPDATE structures to discard, if the
page's spinlock isn't available, just keep going.