Fix for transform-tabular-data on empty fields

These commits handles 'special' tables
These tables include:
    1. Tables with 1 row - this is a special case because single fields
    will be parsed into a `dict`, rather than a `list` as expected by the
    list comprehension
    2. Rows with empty fields - previously `f['#text']` is used to get the
    text inside a field, but if it is empty, '#text' is not defined, thus we
    use `f.get('#text', None)` instead
A test have been added to check this.
    3. Empty tables - this fails previously, but will return an empty
    dict now

Unit tests for each of these cases have also been written