Add option to limit the maximal number of parallel threads.

Differential Revision: http://reviews.llvm.org/D5581
Put the parallel context alloca into the function entry block.

  We use lifetime markers to limit the actual life range (similar to clang).

Differential Revision: http://reviews.llvm.org/D5582