Implement cilk spawn variable initialization with captured statement

- Remove CilkSpawnStmt
- Disallow spawn initializing a static variable
Tests for spawn variable initialization

- Covers: primitive types, classes, const, rvalue and lvalue references,
  exceptions, and implicit conversions
- I've marked assigning a temporary to a const T& or T&& as expected to
  fail for now.
- Also includes a small fix for popping the catch scope.

Reviewed by Wei Pan
Pop Catch with dispatch block in correct position