Models: add type defs, remove ambiguity of Base
Models: add type defs, remove ambiguity of Base

To comply with mypy, type definitions have been added and the name Base which
before was using the factory declarative_base now use the decorator
as_declarative. Disable no-member for cls, pylint thinks its a reference to an
instance(a "self") of the class rather than a reference to the class.

type: ignore on Base.__tablename__ due to false-positive error,
see https://github.com/sqlalchemy/sqlalchemy2-stubs/issues/127

ModioAB/caramel,ModioAB/caramel