Fix issues with function in no-unused-vars (Fixes #256)

Fixes #256 This fix should get no-unused-vars to treat functions correctly. The only problem that I have is unittest with the following topic:
```js
function f() {
var a=[];
return a.map(function g(){});
}
```
Theoretically, it should return two errors since both f and g are never called directly. However, g is called by map function, so it's not being caught by the rule. I don't feel strongly about this issue, since in reality, g will be called. I feel like if we want to catch g, it should be some other rule's job to do so, since g should be anonymous function to begin with.