Sync c-sharp lexer with current ECMA-334 (4th ed):
Sync c-sharp lexer with current ECMA-334 (4th ed):

 * Include `?` in the type name for new nullable types.
 * Add `yield` to keywords.
 * Even though the doc makes great pains to emphasize that they're not
   keywords, the following are nonetheless special:
   * `value` (used in setters)
   * `alias` after `extern`
   * `add` and `remove` for events much like `get` and `set`
   * `global` in the case of `global::var`

tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments,tomstuart/pygments