Support selecting rows by clicking and meta-clicking the gutter

Closes https://github.com/atom/atom/issues/982.

This adds support for:

1. selecting entire rows by clicking the gutter. Previously, the whole row was selected only when the gutter was shift-clicked. See 8c36d26 for this change.

2. selecting multiple disjoint rows by meta-clicking (and dragging) over the gutter. Previously, this ability was not available. See 7f14965 for this change. 

:tv: time:

![clicky](https://cloud.githubusercontent.com/assets/38924/4110485/1017d520-31f3-11e4-8b6b-59670c5f1a77.gif)

cc @nathansobo @benogle for :microscope: :eyes:
> This looks reasonable for now, but I'm wondering if we should revisit the way in which selections are merged after certain API interactions. Maybe adding or updating a selection should always favor the new/modified selection when merging. Or maybe you could call mergeIntersectingSelections on the selection itself so your reference remains stable.

@nathansobo I wanted to respond to this since I haven't before. While working on these changes, I felt like there was a method missing in the Editor or Selection API which would allow this code to be more elegant in the EditorComponent. Since I'm new to these APIs -- I'm not really sure what would work best, but the having a `mergeIntersectingSelections` method on Selections themselves sounds like a good idea to me. :+1: