Bug 979865 - Part 1: Refactor comprehension parsing  r=jorendorff
Bug 979865 - Part 2: Internally rename JS1.8 comprehensions as "legacy"  r=jorendorff
Bug 979865 - Part 3: Implement ES6 array comprehensions  r=jorendorff
Bug 979865 - Part 4: Implement ES6 generator comprehensions  r=jorendorff
Bug 979865 - Part 5: Add tests  r=jorendorff