Don't create mk/stamp-h

I don't think we are using it for anything any more.
Merge branch 'master' of http://darcs.haskell.org/ghc
punctuation in comment
Typo in comment
Revert "Add support for byte endian swapping for Word 16/32/64."

This reverts commit 1c5b0511a89488f5280523569d45ee61c0d09ffa.
Comment out function; consequence of reverting a553f18
Fix the constraint simplifier (Trac #7967)

Richard's bug report showed up a couple of subtleties in the constraint solver

* We can strengthen the kind invariants on CTyEqCan and CFunEqCan
    See Note [Kind orientation for CTyEqCan]
    and Note [Kind orientation for CFunEqCan] in TcRnTypes
  There are some changes to reOrient and checkKind in TcCanonical
  to support these stronger invarants.

* In TcSimplify we must make sure that we re-simplify if defaultTyVar
  does anything.  See Note [Must simplify after defaulting] in TcSimplify.

The usual round of refactoring follows!
Remove trace that sometimes causes a loop
Remove dead code
Avoid generating empty llvm.used definitions.

LLVM 3.3rc3 complains when the llvm.used global is an empty array, so don't
define llvm.used at all when it would be empty.
Typo in hp2ps help output

As spotted by Julian Gilbey and reported at http://bugs.debian.org/710305
--show-options lists all flags. Add user documentation for #7843
Cleaning fixes, and other build system tweaks; part of #7941
Whitespace only in rts/storage/SMPClosureOps.h
Optimization for takeMVar/putMVar when MVar left empty; fixes #7923

We only need to apply the write barrier to an MVar when it acquires
a reference to live data; when the MVar is left empty in the case
of a takeMVar/putMVar, we can save a memory reference.

Patch from Edward Z. Yang.
Allow multiple C finalizers to be attached to a Weak#

The commit replaces mkWeakForeignEnv# with addCFinalizerToWeak#.
This new primop mutates an existing Weak# object and adds a new
C finalizer to it.

This change removes an invariant in MarkWeak.c, namely that the relative
order of Weak# objects in the list needs to be preserved across GC. This
makes it easier to split the list into per-generation structures.

The patch also removes a race condition between two threads calling
finalizeWeak# on the same WEAK object at that same time.
Check for a weak pointer being dead before we do any allocation for it
Maintain per-generation lists of weak pointers (#7847)
Add braces for clarity
Whitespace and braces only