jshint: allow function hoisting

I changed the jshint option 'latedef' from 'true' to 'nofunc'. This
configuration option prohibits the use of variables before they are
declared, which is of course a good thing.
However, when set to 'true' instead of 'nofunc' it also prohibits this
for functions, which is less useful.

This prohibits declaring inner functions at the bottom (instead of at
the top) of the outer function. I really like constructing code like
that, because it helps with writing clean (self explaining) code.

Example:
``` javascript
function myOuterFunction(){
doSomething1();
doSomething2();

functoin doSomething1(){

}

function doSomething2(){

}
}
```