Do not infer anonymous function names

This patch disables function name inference in the report generated when JSHint is used programatically. As noted in the commit message, I've had to guess at the rationale behind the functionality--it seems like it's there to make the report more informative. @valueof does that sound right to you?

I'm proposing it be removed because:

1. It's semantically inaccurate. An anonymous function is still anonymous even if it is assigned to a variable/property when it is first created.
2. It's prone to bugs, for example, in the report for the code below:

     ```js
    function a() {};
    a(function() {});
    ```
      both functions are listed as having the name "a". JSHint must be reporting millions of functions named `then` at the moment :P

An alternative response would be to address edge cases like the example in `#2`, but in light of `#1`, I thought I'd start by proposing removal instead. 

(I've split this into two commits to help facilitate review. The first just adds whitespace to a test file.)