Cleanup: Fix missed JSHint "forin" violation.
Updated google preset

According to Google's JavaScript Style Guide:

"Because of implicit semicolon insertion, always start your curly braces on the same line as whatever they're opening."

https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Code_formatting#Code_formatting

Closes gh-649
requireSpaceAfterLineComment: skips msjsdoc comments

Fixes #593
Closes #595
New rules: (disallow|require)FunctionDeclarations

Closes gh-569
Fix invalid result of findXxxxToken methods when value is provided

When value and type both provided to the "JsFile.findNextToken" method, it will
return the first token matching the type without checking the value because of
the "prevToken.type !== type" condition.

The same applies to both "JsFile.findNextToken" and "JsFile.findPrevToken"

Close gh-645
New rule: (require|disallow)SpacesInCallExpression

Closes gh-650
Fixes #644
Implement "except" option for spaces rule

Rule: requireSpacesInsideParentheses
Simplify "allButNested" option for spaces rule

Rule: requireSpacesInsideParentheses
Add more tests for spaces in parens rule

Also fix up newlines
Add "getNodeByRange" method
Correctly deal with entity that look like array

Rule: requireSpacesInsideParentheses
Implement "only" for parens rule

Rule: disallowSpacesInsideParentheses

Closes #562
Closes #517
Closes #92
getNodeByRange should check only range objects
Structurize tests for js-file module a bit
iterateTokenByValue - iterate only on own props
Remove needless newlines
Optimize "getNodeByRange" method

Don't go down more it needs to
Fix code style issues
New rules: (require|disallow)CapitalizedComments

Closes gh-653
Fixes #647
Add "requireSpaceBeforeBlockStatements" rule into the jquery preset

Fixes #662