Implements multiple selections clipboard paste

Includes:

  - Passing the selection index in the `Editor::mutateSelectedText`
method callback
  - Storing all the selections content on many calls of
`Selection::copy` with `maintainClipboard = true` in a metadata
`selections` array
  - Handling clipboard with a `selections` metadata in
the`Editor::pasteText` method
:lipstick: Fix typo in pasteText method comments
Allow newer version of `nodejs`
Adds specs for multi selections clipboard handling
+FreeBSD, -bullshit

Signed-off-by: Cthulhux <zeug@tuxproject.de>
:lipstick: Replace have with has in spec description
:lipstick: Harmonize lineForRow calls in specs
:lipstick: Use skinny arrow instead
:sweat_smile: Forgot to remove the test focus
:lipstick: Clear object deconstruction in Selection::copy
Replacing string comparison with actual int comparison
Allowing node > 1.0 (no reason not to already do that, I guess)
FreeBSD

Signed-off-by: Cthulhux <zeug@tuxproject.de>
:confused: Forgot to replace most references to clipboardMetadata

Never attempt to fix a PR right before going to sleep!
Update docs and fix typos
Update linux.md
Merge pull request #2133 from aaronhalford/updatedocs

Update docs and fix typos
Remove unused 's' option from getopts

This option is not handled by the next `case` command.
Use $(...) for command substitution, not backticks

Currently both \`...\` and `$(...)` are used for command substitution. It's better to chose just one and stick to it, to avoid confusion.

Some arguments favoring `$(...)`:

* **Easier to read.** The backtick is easily confused with apostrophes and quotes.
* **Easier to nest.** Nesting backticks commands is an escaping nightmare. Using parenthesis is natural: `$(foo $(bar))`
Merge pull request #2074 from dertuxmalwieder/master

+FreeBSD, -bullshit