Modify extension handling to allow for .coffee.md

Move filename processing to a `parseFileName` function in
helpers.coffee.

Map `.coffee.md` as a Literate CoffeeScript extension.

Also, make .litcoffee and .coffee.md files executable without their file
extension - eg. `coffee test` would work for a file called
`test.litcoffee`.
Revert #2599
Add a couple of tests to document the behaviour of other typed constructors
Merge pull request #2743 from epidemian/revert-2599

Revert #2599
Disallow implicit calls in cases like:

f
  a

and only allow cases like:

f
  a: 1
Merge pull request #2746 from troels/implicit-calls-with-overhang-on-first-argument-only-on-implicit-object

Disallow implicit calls in cases like:
Removing duplicate 'CATCH'
Merging in .coffee.md support alongside .litcoffee ... I think we'll keep .litcoffee as the canonical, however.
Moving path dependency back into 'command'
Fixes #2721, super outside of classes with extends for instance methods.
Fixes #2721 -- show error message for naked super
Fix line numbers when first line is indented.

* Offset @chunkLine for inserted line break.
* Avoid line break insertion for blank lines.
Merge pull request #2752 from marchaefner/master

Fix line number mismatch when first line is indented.
When printing out --tokens, hide the location data.
Fixes #2750 -- clarify error message
Fixes #2749. Restricting  to instance methods in class bodies, where it actually has a chance in hell of calling the correct thing.
Fixes #2508 -- existential access of the prototype.
Fixes #2502 -- improper compilation with parenthesized inner value of instance properties in a class body.
Fixes #2489, fixes #1819, fixes #1821 -- remove the __bind helper.
Fixes #2455 -- condition should know what variables the body has declared.