Added row based selection

- Added an option to enable row based selection
- Row based selection utilizes doby-grids cell based selection model
- Added getSelectedRows() to retrieve the selected rows and its data
- Added a "distance" to the "ondragstart" event for cell range selection (to keep users from incidentally trigger cell range selection when only a click is intended)
Fixed formatting (jslint)
Fixed "contains" method to pass the jasmine test again
Add selected class to selected rows
- If a row is beeing selected in rowBasedSelection mode, add a class to that row so it can be styled
- Make sure rows are deselected correctly
Fixed Range selection when using rowBasedSelection
- In some cases too many ranges were created in the selection model
- Trying to clean up the handleClick() code again
Merge remote-tracking branch 'upstream/master' into feature-rowselection
Fixed Build error
- Row based selection disables cell range selection -> distance is no longer needed
- Added example for row based selection
Link to Row selection Example
Forgot to add the link to the row selection example
Added function getColumnHeaderWidth
- Moved determining the with of column headers to a separate function
Pulled apart functions contained in setupCOlumnResize
- Separated functions scoped inside of setupColumnResize to make them reusable outside of the function
Added fitHeadersToColumn option
- Added fitHeadersToColumn option and corresponding code. If set to true, the column width will be adjusted so that the columns can't be smaller than the headers content.
Merge remote-tracking branch 'origin/feature-columnautowidth'

Conflicts:
	src/doby-grid.js

Fixed merge conflict