Reflect

The Reflect global is, as far as I know, a part of the ES6 spec. I was a bit surprised not to find it in the es6-shim. Is there any reason as to why it isn't? If not, I'd consider giving it a go.

I'd like to use this PR to discuss Reflect implementation.
@ljharb I showed this implementation problem. `Reflect.enumerate` should work as:
```javascript
Reflect.enumerate = function*(O){
  for(var key in O)yield key;
}
```
`for-in` loop not enumerates deleted keys.