Prevent repl from crashing on error [Fixes #2716]

Move execution of the compiled code inside the try/catch block:

    try
      js = CoffeeScript.compile "_=(#{input}\n)", {filename, bare: yes}
    catch err
      cb err
>   cb null, vm.runInContext(js, context, filename)

    try
      js = CoffeeScript.compile "_=(#{input}\n)", {filename, bare: yes}
>     cb null, vm.runInContext(js, context, filename)
    catch err
      cb err
Fix repl handling of blank line

Since the move to the nodeREPL package, input lines to be evaluated are
now wrapped in parentheses; that is:

    'foo'

would become:

    ('foo'
    )

The old way of detecting empty lines was to see if the input string was
either totally empty, or whitespace-only. The addition of these
parentheses breaks that.

In order to fix this, we simply tweak the regex a little to ignore these
added parentheses if they're present. As an added bonus, the regex
should match empty inputs even if they aren't.

This also makes the "empty command evaluates to undefined" test pass,
for the right reasons (i.e. not because of the broken error behavior
from before).
Use blank line regex from Redux
Merge pull request #2725 from mintplant/repl-fix

Fix REPL crashing on execution error
Compile to an array of CodeFragments instead of to a giant string.
Improve the handling of implicit object and implicit call combinations
by handling them together.
Merge pull request #2712 from troels/implicit-object-implicit-call-stuff

Implicit object/implicit call interaction handling
Hoist build function to top level of Cakefile
Merge pull request #2740 from mintplant/hoist-build

Hoist build function to top level of Cakefile
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`.
Add support for text/literate-coffeescript in the browser
Merge pull request #2718 from sbp/sbp-literate

Add support for text/literate-coffeescript in the browser
Fix implicit calls with try/catch/finally as arguments
(Aside: For historical reasons we do make the filename extension optional, which is a deeply regrettable accident of history that I would not repeat, given the chance.)
Merge pull request #2741 from troels/implicit-call-try-catch-finally

Fix implicit calls with try/catch/finally as arguments
Revert #2599
Add a couple of tests to document the behaviour of other typed constructors
Fixing heredocs in literate coffeescript
Merge branch 'master' of https://github.com/jashkenas/coffee-script
Add source map support