added multicluster layout option

- created new layout in ClassDiagramGraphicalModel.layoutMulticluster()
- existing layout() method moved to
ClassDiagramGraphicalModel.layoutHierarchical()
- created preference page for choosing layout to use
- layout() method calls correct layout algorithm based on user
preferences