Parsing empty switch contains 'cases' key

SpiderMonkey and the Parser API defined 'cases' to be in the
SwitchStatement production.

https://code.google.com/p/esprima/issues/detail?id=436

Here is the SpiderMonkey output:
```javascript
> Reflect.parse("switch(foo) {}")
({loc:{start:{line:1, column:0}, end:{line:1, column:14}, source:null}, type:"Program", body:[{loc:{start:{line:1, column:0}, end:{line:1, column:14}, source:null}, type:"SwitchStatement", discriminant:{loc:{start:{line:1, column:7}, end:{line:1, column:10}, source:null}, type:"Identifier", name:"foo"}, cases:[], lexical:false}]})
```

This came from a PR (here)[https://github.com/mduvall/eslint/commit/2cb97bac3476332413e50cf4f40b413ccf176d8f] and it seemed better to handle it at the parser level. Let me know what I can do to get this in, thanks!