* bzrlib/tests/test_conflicts.py: Switch from --interactive to --action.
* bzrlib/tests/blackbox/test_conflicts.py: (TestResolve): Delete the --interactive tests.
* bzrlib/conflicts.py: (cmd_resolve.run): Add an 'action' parameter. Refactor to clarify what action is executed when. Get rid of the --interactive attempt. (resolve): Add an 'action' parameter. Refactor to make the conflict deletion depends on the resolution success. (_resolve_interactive): Deleted. (ConflictList.remove_files): Use conflict.cleanup() (Conflict._do): Helper to execute an arbitratry resolution action. (Conflict.cleanup, Conflict.done, Conflict.keep_mine, Conflict.take_their): Declare the abstract methods. (PathConflict.cleanup, PathConflict.done): Do-nothing implementations. (ContentsConflict.cleanup): Specific cleanup (strange). (TextConflict.cleanup): Specific cleanup. (HandledConflict.done, HandledConflict.cleanup): Do nothing implementations. (UnversionedParent.keep_mine, UnversionedParent.take_their): Hmm, forced do-nothing implementations, something weird is going on here.