Tabs -> spaces (and some other formatting)
Formatting wibbles
Rewrote vectorisation avoidance (based on the HS paper)

* Vectorisation avoidance is now the default
* Types and values from unvectorised modules are permitted in scalar code
* Simplified the VECTORISE pragmas (see http://hackage.haskell.org/trac/ghc/wiki/DataParallel/VectPragma for the spec)
* Vectorisation information is now included in the annotated Core AST
Vectoriser: fix vectorisation avoidance for case expressions
Vectoriser: distinguish vectorised from parallel types and functions

- We sometimes need to vectorise types and functions because they might be needed in a vectorised context, not because they do directly introduce parallelism.
Vectoriser: don't include scalar types in base set of parallel tycons
Vectoriser: enable encapsulation of scalar functional expression of arbitrary form
Vectoriser: improve top-level check and vectFnExpr
Vectoriser: VECTORISE pragma assumes parallel values
Vectoriser: don't pack free *scalar* variables
Vectoriser: depending set of a vectorised tycon need only be vectorised if also parallel
Move AsmCodeGen.makeFarBranches to PPC.Instr (#709)

Its implementation is totally specific to PPC.
AsmCodeGen.NcgImpl.ncgMakeFarBranches should take account of info tables (#709)

We have to reduce the maximum number of instructions to jump over depending on the number of info tables in a proc.
remove last vestiges of AlienScript, it is not used any more
random is a submodule

Looks like I forgot to make it one in the original conversion
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Follow random submodule change
Fix tidying of vectorised code

* We need to keep the vectorised version of a variable alive while the original is alive.
* This implies that the vectorised version needs to get into the iface if the original appears in an unfolding.
Vectoriser: PArray may be part of identity conversions
Vectoriser: binders of encapsulated lambdas need to be scalar