Fixes #3762

I kept the changes at a minimum and simply introduced additional tags.
Still working on test cases for this.

Here is a sample coffee-script

```coffeescript
a = ->>
    foo = 2
    bar = 3

b = =>>
    foo = 2
    bar = 3
```

which gets compiled to

```javascript
// Generated by CoffeeScript 1.8.0
var a, b;

a = function() {
  var bar, foo;
  foo = 2;
  bar = 3;
};

b = (function(_this) {
  return function() {
    var bar, foo;
    foo = 2;
    bar = 3;
  };
})(this);
```