Refactors formatting.

Renames format folders to formats.

Adds base format model.

Refactors formats to keep only the code specific for each format in
the model, the rest is moved out to the format super class.

Updates the tests to use the new format structure.

Changes the html format generated from the html formatter to use non
proprietary tags instead of <ins> and <del>.