...Expression#requiredArgumentsPresent -> areArgumentsValid and changed condition (refs #4)
ArgumentReaderDialog and all references to it are renamed ArgumentFixer (refs #4)

Because this will not just read arguments, but it will also not allow
the user to launch them until the arguments are fixed.
I also changed a ternary related to form.getValues. (It now maps values to
plain objects with a value property before the ternary.)
...DialogLauncher#autocompleteExpression now filters out erroneous results (refs #4)

It should do this, so prompt's autocomplete popup will
not suggest erroneous sentences.
(eg. "Del bra mas" should not suggest "Delete branch from mas".)
Implemented SentenceAutocompleteValidator form validator and is now used by ArgumentFixerDialog (refs #4)

It gets and expression and calls the dialogLauncher's autocomplete on it with all current values of the form.
It also needs the name of the current field that is validated, so BaseField now has a getter for that.
ArgumentFixerDialog now run autoValidate on all its fields after render, instead of manually adding the error message.
ArgumentFixerDialog now has some refactor on how to get the names of arguments it should deal with.
Also now adds an increasing index to the form name, since it is used as a prefix in the field id, wich lead to multiple inputs in several forms having the same id!