Fix for transform-tabular-data on empty fields

When the field is empty, f['#text'] raises a KeyError.
This is due to the way xmltodict parses:
    when the field in an xml tag is empty, '#text' is not defined
Use f.get('#text', None) instead.
A test have been added to check this.
Update documentation
Add documentation to transform_tabular_data
Fix for getting incomplete types of table

Incomplete table includes:
    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
    previous list comprehension
    2. Rows with empty fields
    3. Empty tables - this fails previously, but will return an empty
    dict now

Unit tests for each of these cases have also been written
Merge pull request #13 from ngzhian/transform-tabular-data-fix

Fix for transform-tabular-data on empty fields