Add table functionality to Markdown writer

Depends on #1

Add MarkdownTable object.
Initialise with manditory headers
Add rows using `addRow()` with list of strs which cannot be more populous
than headers

Example output from table

First Header     | Second        | 3rd | Fourth
-----------------|---------------|-----|-------
some data        | Longer column | 3   | Fourth
some longer data | small         | 3   | Fourth

Table syntax:
    https://guides.github.com/features/mastering-markdown/