Prefs: Provide an API for Iterables

The most generic way to provide a bunch of Strings to persist is by
passing an Iterable<String> for writing and handling an Iterable<String>
when reading.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
WIP: 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.

TODO: Javadoc, test remove()

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
WIP: 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.

TODO: Javadoc

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
WIP: 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.

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