Add a data structure keeping n unique last-recently-used items

This is similar to the LinkedHashMap structure, except that an
already-existing item can be easily put to the front of the list, or the
back.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a history class for the upcoming script interpreters

The newly-introduced History class maintains the history of most recently
executed statements and has functionality to persist and retrieve the list
from the preferences.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add the UI-agnostic part of the script interpreters

The newly-introduced ScriptInterpreter class provides all the
functionality of a script interpreter sans the graphical user interface.
It can execute statements and persists a history of most recently
executed statements.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Let LastRecentlyUsed implement the full Collection contract

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Test LastRecentlyUsed#remove(Object)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>