Make patched stack traces’ prelude consistent with V8

In V8, the `stack` property of errors contains a prelude and then the
stack trace. The contents of the prelude depends on whether the error
has a message or not.

If the error has _not_ got a message, the prelude contains the name of the
error and a newline.

If the error _has_ got a message, the prelude contains the name of the
error, a colon, a space, the message and a newline.

In other words, the prelude consists of `error.toString() + "\n"`

Before, coffee-script’s patched stack traces worked exactly like that,
except that it _always_ added a colon and a space after the name of the
error.

This fix is important because it allows for easy and consistent
consumption of the stack trace only:

`stack = error.stack[error.toString().length..]`
Merge pull request #3359 from lydell/v8-consistent-stacktraces

Make patched stack traces’ prelude consistent with V8
Improve installation documentation

- Simplify the command to install latest master.

- Promote using `--save` when installing locally, since it automatically
  locks the minor version, protecting users from accidentally installing
  breaking updates.
Merge pull request #3360 from lydell/install-docs

Improve installation documentation
Fix #3361, make %% coerce right operand only once

Force coercion of right operand once before doing arithmetic with it in the `__modulo` utility function.
Merge pull request #3362 from epidemian/fix-modulo-coercion

Fix #3361, make %% coerce right operand only once
Merge branch 'yieldfrom'