rename clear to newFile
action inter-dependent result handling

- adds FileHandlingClient as base client trait for clients able to handle files
- splits filehandling in base trait and separate traits for Exporting, Opening and Saving
- actions (except quit) return now an ActionResult (either performed or escalate) instead of Unit,
  - needed for action inter-dependent result handling
  - see the new IntegrationSpec tests
    - scenario I was worried about was, content has changed and an action like new file occurs:
      user decides to save the content, chooses a file that already exists, but cancels the overwrite dialog,
      then the action (new file) should not be performed, so the cancel from the last dialog gets escalated
- generally more explicit return types (it was starting to get confusing sometimes)
- more reusable mocking traits like: MockAskSave extends AskSave