Adding linting option `arrow_spacing` to require a space around the arrow (=>) operator

Completes clutchski/coffeelint#13

Not sure if "operator" is the correct/best word to use, function declarator?

From the documentation I wrote (which I will be submitting in a different PR)

Note that if arrow_spacing is enabled, and you pass an empty function as a parameter, 
  arrow_spacing will accept either a space or no space in-between the arrow operator 
  and the parenthesis
```coffeescript
# Both of this will not trigger an error,
# even with arrow_spacing enabled.
x(-> 3)
x( -> 3)

# However, this will trigger an error
x((a,b)-> 3)
```
I made this exception solely because I felt it was more aesthetically pleasing to have the code be x(-> 3) rather than throw an error for it. This exception also only applies to empty functions.