Add documentation of the overall class design (current and proposed one)

Add a document describing current overall class design and the proposal
to change it. It captures output of a discussion between Machinery
developeres. It will hopefully serve as a basis for a more detailed plan
describing how to preform the transition.
Merge pull request #319 from SUSE/add-overall-class-design-doc-2

Add documentation of the overall class design (current and proposed one)