Allow both underline and overline to be present

Useful for e.g. ReST tables.
Take headline field width into account when calculating underline/overline length
Add header_padding option to pad headline fields