ValidateIndentation: Relax indentation rules for function expressions.

Fixes #588
Fixes #387
ValidateIndentation: remove array and object indentation validation

Fixes #627
Refs #545
Docs: Contributing - more project and process details

Closes gh-643
Fixes #642
validateJSDoc: Deprecate rule

Closes gh-638
Fixes #59
disallowMultipleVarDecl: Strict mode to disallow for statement exception

Closes gh-637
Fixes #46
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