Update: Add no-cond-assign option to disallow nested assignments in conditionals (fixes #1444)

For now, the options are named `parens` (only allow assignments in parentheses) or `never` (never allow assignments). I'm happy to change the names.

I tried to clarify the `no-cond-assign` docs in the course of updating them. A few not-so-obvious doc changes:

+ Standardized on "conditional statements," which is consistent with the [ES 5.1 spec](http://www.ecma-international.org/ecma-262/5.1/#sec-12), rather than "conditional expressions."
+ Removed a large section about how Esprima parses `for` statements, because it seemed more distracting than helpful.
+ Removed a bad link to jslinterrors.com.
@lo1tuma: I set things up this way so that there is one, and only one, place where the rule enumerates the node types that it cares about: the `return` statement. If I chose the error message string in this function, there would be two places where we enumerate the node types. Does that make sense? I can still make this change if you want, but I wanted to explain my reasoning first.

Alternatively, we could use the error message `Unexpected assignment within a conditional statement` regardless of the node type. That would simplify things, but the error message would be less clear.