feat(ChangeDetection): convert Record.mode to a bit field
feat(RecordRange): Set context for implicit receivers only
chore: Make field declarations explicit

This used to be valid code:

```
class Foo {
  constructor() {
    this.bar = ‘string’;
  }
}
```

This will now fail since ‘bar’ is not explicitly
defined as a field. We now have to write:

```
class Foo {
  bar:string; // << REQUIRED
  constructor() {
    this.bar = ‘string’;
  }
}
```
feat(Reflection): extract reflection capabilities into a separate module
feat(change_detection): add benchmarks
fix(reflection): fix a typo
fix(reflection): update pubspec.yaml to add a missing dependency on reflection
refactor(benchmarks): rename paths.js into register_system.js to match other benchmarks
fix(benchmarks): add the reflection module to benchmark config files
chore: use load-plugins to make gulpfile shorter