dia to sml: rename graph builder to grapher
dia to sml: minor cosmetic fixes around design by contract

- use the same terminology as Meyer for the assertions around
  preconditions (e.g. require instead of ensure)
- make sure the preconditions in grapher and transformer are checkable
  from the outside world
- remove workflow duplication in precondition checks for grapher
dia to sml: rename grapher variables to match class rename