Actually check indentation for chained calls.

The previous PR only addressed the INDENT tokens, this addresses the
issue of the chained calls being properly indented.
Merge pull request #285 from swang/check_indents_on_dots

Actually check indentation for chained calls.
Space_operators missed some cases
Fix implicit parens edge-case (for last line)

This is an attempt at fixing #302. Basically if you have strict set to
false as part of the no_implicit_parens config, it should allow implicit
parens when it's done across multiple lines.

Before the change was done by detecting for a newline. Unfortunately it
seems that CoffeeScript does not add a newline property so you can have
implicit parens on the last line of code.
Fixes method chaining looking out of scope

This PR is a rewrite of the original code that was used to generate the
correct INDENT value for INDENT tokens when a user wrote code that used
method chaining with each new method on it's own particular line.

There is less redundant code, with a new function called
`getCorrectIndent` that will return the corrected INDENT value that
should be there instead of what CoffeeScript original generates.

This also fixes #305 where the original `isChainedCall` function was
looking out of its scope when checking for proper indenting in the
current method chain.
Merge pull request #306 from swang/fixed_method_chaining_bug

Fixes method chaining looking out of scope
Merge pull request #303 from swang/fix_edge_case_for_parens

Fix implicit parens edge-case (for last line)
Add rules folder as part of the linting process

This includes the src/rules folder as part of the linting process for
the library. This means that when you run `npm test` it will now also
lint src/rules.

Also fixes errors being generated from CoffeeScript files in the rules
folder.

Note there are now 2 more warnings for cyclomatic complexity.
Merge pull request #307 from swang/lint_the_rules

Add rules folder as part of the linting process
Fixes #309
Include the test for #306
Merge pull request #297 from paulcollinsiii/space_operator_fixes

Space_operators missed some cases
Fix long line
Fix an edgecase bug for no_trailing_semicolons

This is to fix an edge case bug where, inside of a multiline string,
there is an interpolated string where the entire interpolation is a
function call and does not contain a variable/string.

Fixes #314
Fixes #311 #106. Copied parakeety/coffeelint-prefer-english-operator
with @parakeety's permission
Merge pull request #315 from swang/fix_edgecase_for_no_trailing_semicolons

Fix an edgecase bug for no_trailing_semicolons
1.5.3
Move the CoffeeScript.tokens mock into its own batch to isolate it from other tests
Rename prefer_english_operator test to match the naming convention and prevent it from running first (see previous commit)
Config: Prioritize userprofile for HOME search.
In Windows, it turns out if the current user is
not the default user, environment.HOME
returns drive root instead of the user-profile
directory.
This PR changes the priority. This change will
not break the current usage / implementations.