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
Document -fvectorise and -favoid-vect. (#5801)
add $(CrossCompilePrefix) to hp2ps (#7639)
MachRegs.h requires ghcautoconf.h to be included before it (#7591)

Because, in the case of ARM processors, it needs to know what ARM
variant is being used. This patch fixes that in
includes/CodeGen.Platform.hs, otherwise there is a mismatch between
the compiler and llvm.
add CPP
Try to make ghc-pkg and ghc-cabal use the same flags when bootstrapping.

They share modules in Cabal, and unless they use exactly the same
flags GHC recompiles the modules.
Whitespace only
A couple of small refactorings
Remove an out-of-date comment
Improve an error message; fixes #984

This code:
    f _ = do
            x <- computation
            case () of
                    _ ->
                            result <- computation
                            case () of () -> undefined
Now gives this error:
    Parse error in pattern: case () of { _ -> result }
    Possibly caused by a missing 'do'?