If text is empty, just return it

Seems to be common usage to just call the method even if field is empty so we save the step of preparation of markers etc.
fixed some edge cases in TableTrait
fixed nested list parsing

fixes #49
fixed issue with | in text where no table is present