Refactor accessor parsing
Reformat expected values file for readability
Implement more complete function name inference

The semantics of function objects' "name" property has been formalized
in the ECMAScript 6 specification. Implement the specified behavior with
two differences:

- Report functions whose name is derived from an expression as having
  the name "(expression)" (in these cases, the correct value cannot be
  determined statically).
- Report functions whose name is unset as having the name "(empty)".
  Although the specification dictates these functions be assigned the
  empty string ("") as a name, a more explicit name will be more
  informative to developers inspecting the generated report.
Update jshint.rc options order

Exchange order of `forin` and `freeze` option in jshintrc. Make the order same as http://jshint.com/docs/options/
Merge upstream