Interfaces shouldn't inherit an abstract class

Having the AbstractHistoryFile inherit AbstractHistory (since it IS
an abstract history after all) seems more logic.