Fix virtual sort when comparing various-length values
Fix virtual sort when comparing various-length values

Steps to reproduce the issue:
1. have a `Datatable` with
  * a single-source column eg. `foo = TextColumn("foo", sources=['foo'])`
  * a dual-source column eg. `bar = TextColumn("bar", sources=['bar', 'baz'])`
2. in the corresponding `DatatableView`, sort by *foo* then **further** sort (shift+click) by *bar*

The trackback:
```python-traceback
  File "datatableview/datatables.py", line 443, in populate_records
    objects = self.sort(objects)
  File "datatableview/datatables.py", line 521, in sort
    object_list.sort(key=lambda o: column.value(o)[0], reverse=reverse)
TypeError: unorderable types: list() < str()
```
Indeed, for *foo*, `column.value(o)` is `("foo-value", "Foo value")`; whereas for *bar*, `column.value(o)` is `(["bar-value", "baz-value"], "Bar Baz Value")`
hence Python tries to compare the string `"foo-value"` with the list `["bar-value", "baz-value"]`.
doganmeh/django-datatable-view,jangeador/django-datatable-view,pivotal-energy-solutions/django-datatable-view,jangeador/django-datatable-view,doganmeh/django-datatable-view,pivotal-energy-solutions/django-datatable-view,doganmeh/django-datatable-view,jangeador/django-datatable-view,pivotal-energy-solutions/django-datatable-view