Refactoring and IDE automation support

The major purpose of nextMock is the support for refactoring and IDE automation. There is other tools that are very nice to use when you want to use mock object, but as far as we know, none of them have the support for refactoring and IDE automation that we expect.

What we want to achieve with nextMock is :

- Auto-completion : We want to be able to use auto-completion when writing expectations.

- Rename support : We want the unit test code invoking mock object to be modified automatically when a rename a performed on business code. We want also to be able to trigger rename refactoring from the unit test sources, simply by triggering a rename on the expectation statement.

- Create a new method from the unit test : Useful when using "write test first" techniques. We want to allow to trigger a "create new method" event directly from the expectation statement. For example, if you have a statement listenerMock.expects(once()).messageFired_with(); but the method messageFired doesn't exist, you should be able to ask to create it directly from the test sources.

- Add exception declaration : Also useful when using "write test first" techniques. When you have an expectation statement like listenerMock.expects(once()).checkState_with().will(throwException(e)); but checkState doesn't declare to throw an exception of the type of e, it should be possible to ask the IDE to add the throws statement to the business source of the listener class.

NB: This will requires a change in the nextMock API.

Note that an other purpose of nextMock is to have strongly typed expectations, which is also helping the IDE automation.