Fix #183 : reimplement closeAll / closeOthers using Eclipse API.

The code now directly closes all editors, at the cost of reinitializing them if they were inactive (e.g. after a restart).

At the same time, reimplement Vim's behaviour where closeOthers closes all editors without changes, even if there are unsaved ones.

CloseAll should no longer throw a NullPointerException as it uses the same code as :q.