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)