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
Adds specs for multi selections clipboard handling
: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
:confused: Forgot to replace most references to clipboardMetadata

Never attempt to fix a PR right before going to sleep!
Remove duplicate . from default nonWordCharacters
Fix #2152: Cast opened paths to string

path.resolve() was throwing an exception if given path was not a string.
When iterating through all given paths, each entry is casted by JS to
most suitable type and paths in form of a number (i.e. '1234') were
cast to Number, hence the bug.
:lipstick: Remove unnecessary double conditions
Change test to cover all Selection::copy branches
Fix #2152: Cast opened paths to string

path.resolve() was throwing an exception if given path was not a string.
When iterating through all given paths, each entry is casted by JS to
most suitable type and paths in form of a number (i.e. '1234') were
cast to Number, hence the bug.
Upgrade to atom-shell@0.12.4
:memo: No more need of libudev hack on Linux.
Merge pull request #2189 from atom/atom-shell-v0.12.4

Upgrade to atom-shell@0.12.4
Merge pull request #2162 from teddybradford/development

Remove duplicate . from default nonWordCharacters
added config setting for preview_mode (default false)
Merge pull request #1971 from abe33/feature_proper_multiselections_copy_paste

Implements multiple selections clipboard paste