Fix error being thrown when scrolling at bottom of table

Final scroll row being miscalculated due to scroll spacer being 1 row
height too tall. When the final window has rows that are not standard
height (larger than 30px), this was triggered.
Merge branch 'bugs'
Issue #10 preliminary support for filtering rows by substring

Abstracting away use of options.tableData to instead use
this.renderRowDataSet to make it easier to reconcile sorted and
filtered data, and facilitate clearing out the filter at that point, or
changing the sort.

Fixed huge bug which prevented scrolling table when rows numbered fewer
than maxTotalDomRows + rowBuffer.
Fix issues with filtering, compartmentalize filter functionality

Make sortedRows data structure two-dimentional to keep track of sorted
and filtered data sets.

Flesh out workerFilterTableData, make it easier to offload into a
webworker when the time comes.
Fix issue with imprecision of guide in resizing columns
Issue #20 when header wrapper is scrolled, scroll main data wrapper as well
Merge branch 'master' into feature/filterTable
Issue #10 Fix various edge case bugs

Found issue when collapsing a row would shrink total rows to be less
than max DOM row count.

Fix sorting when data set is filtered.

Disable static row when there is no data.
Issue #10 externalize filtering code into web worker
Issue #10 cleanup and comment
Issue #5 show context message when the number of rows is 0

Break logic of resizeTable out into private method _resitzeTable that
doesn't force a call to _sortTable.

Give sorting and filtering web workers a callback to handle cases where
the static column needs to be hidden and message shown if filtering
reduces the number of rows to 0.
Issue #5 center message text
Enable column removal via X button over column headers

Implemented CSS icon styles that will likely spread throughout the
table moving forward.

Added various filter index functions for future column manipulation
scenarios (add/move/delete).
Fix variable name mismatch after previous rename
Issue #13 Add QUnit support

Refactor setup code to support QUnit.

Add first unit tests; now tests snapshot functionality (minimally).

Fix issues discovered by tests, especially widget context variables.
More work fixing these widget globals needs to be done to cover them
all.
Issue #13 refactor all global variables to become instance variables
Issue #13 adding summary row tests and empty initialized test
Issue #13 refactor tests, add new modules and tests
Merge branch 'unitTests'
Merge branch 'master' into unitTests