Function expressions ignore getters and setters

Added a check to the following rules:

* disallow-spaces-in-anonymous-function-expression
* disallow-spaces-in-function-expression
* require-spaces-in-anonymous-function-expression
* require-spaces-in-function-expression

These rules erroneously interpreted setter and getter expressions like
these as full function expressions:

    {
      get x () {
      },
      set x (v) {
      }
    }

This made it impossible to run jscs on JS code that used these constructs,
as it threw false errors whenever it encountered them.

The bug was caused by the fact that esprima actually registers these constructs as
functions assigned to a property with the special kinds 'set' and 'get'.
This patch checks the parent node of the function expression against these
special kinds in order to ignore the special getter and setter constructs.

Tests for this condition were also added for the following rules:

* disallow-spaces-in-anonymous-function-expression
* disallow-spaces-in-function-expression
* disallow-spaces-in-named-function-expression
* require-spaces-in-anonymous-function-expression
* require-spaces-in-function-expression
* require-spaces-in-named-function-expression

The named function expression rules did not need to be patched
because these constructs never generate named functions.

Fixes #69
Rewrite error message again

D'oh!
Make unary/binary tests more consistent
Improve requireSpacesInsideObjectBrackets rule

"allButNested" option should not require no space in nested objects
This should be covered by "disallowSpacesInsideObjectBrackets" rule

Fixes #399
Various readme fixes

Closes gh-395
Closes gh-400
Another portion of readme fixes
Add warning notice to the readme
Tests for requireSpaceAfterPrefixUnaryOperators

Improve tests for requireSpaceAfterPrefixUnaryOperators rule:

* Fix up indentation

* Remove needless tests and fix one
Provide friendly message for corrupted config

Fixes #409
Improve error message for corrupted config
Fix broken assertion for cli module
Add new option to maximumLineLength rule

Some code styles could require to use tabs,
like - http://contribute.jquery.org/style-guide/js/#spaces and also will count
tab as some number of spaces.

In order to correctly conform with that - allow "maximumLineLength" rule to have
object value with "tabSize" attribute, value of that property would make
consider tab character as number of specified spaces
Update jQuery preset

* Add all jshint analogs of code style if they are needed for the preset

* Structurize sequance of the rules:
   * First go dropped (or the ones that will be dropped) jshint rules
   * Structurze rules by require/disallow prefixes
Conform with the style guide
Improve requireOperatorBeforeLineBreak rule

Should not report anything if nothing is specified
Improve requireSpaceAfterPrefixUnaryOperators rule

Do not report consecutive operators

Fixes #405
utils: Remove duplicate '+=' from binaryOperators
Implement wikimedia preset
Require Space After Line Comment: New Rule
Disallow Space After Line Comment: New Rule