Removed the TableFormatter interface

In my opinion there was no need to have this interface when the
AbstractTableFormatter class can just do what this interface did by providing its
interface as the TableFormatter interface, to its child table formatter classes
when they inherit its interface.

So in this commit I've deleted this interface and given the AbstractTableFormatter
class its name, also moving its alignment constants into this class.
Made the default cell data alignment changeable

I've added support for this in the abstract TableFormatter class and
also in the SimpleTableFormatter by giving it a new constructor which
allows the default cell data alignment for an instance to be specified.

Also TableFormatter.addRow() can now be given the default cell data
alignment for new rows.