* Fixed tablemode#spreadsheet#cell#SetCell() to accommodate the fact that we
can have borders anywhere in the table. Using
tablemode#spreadsheet#LineNr() to get get the line of the actual row
in the table.
* Fixed tablemode#spreadsheet#LineNr()
Added a mapping `<Plug>(table-mode-sort)` which is mapped by default to
`<Leader>ts` that sorts the current table by the column in which the
cursor is currently.
Also added `TableSort` command that gives you a little more control over
the sorting, you can pass in additional :sort flags like u, i, n etc and
also use it with a `!` to sort in reverse order.
Altered table mode behavior such that if there is a header line, i.e.
the first line of the table is separated by a border with the rest of
the table, then it is not taken into account for formulas and cell
arithmetic
* Refactored complete code to be more modular.
* Fixed long standing unicode alignment issue #8.
* Testing individual components ensuring better test coverage.