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.
This is probably best written as:

```
var rowProvided = row !== undefined && row !== null;
var specific = rowProvided && cell !== undefined && cell !== null;
```

Less code duplication that way.