Feature rowBasedSelection

Added row based selection

This feature will always select entire rows if activated.

- Added option `rowBasedSelection` to enable the feature
- Supports Ctrl Selection
- Supports Shift Selection
- Supports Ctrl and Shift mixed Selection
- Added methods to read the row based selection

**One of the Jasmine test fails due to the `distance: 8` i added for the dragstart event.** I tried to get this test pass again but without success. I currently don't know how to use jasmine to add tests for my commits. I'll get my head around this later.
Minor detail, but "i ++" should be "i++" as per our JSCS rules.