Changelog:
===========
* #419: Declared "Distribution" as an abstract class, enforcing
definition of abstract methods in instantiated subclasses. It's no
longer possible to instantiate a "Distribution" or any subclasses
unless they define the abstract methods.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>