Field/Column optionality refactoring:
 - field optionality is now boolean (true/false) instead of having 3 optionality modes (ALWAYS/NOT_IF_REACHED/NEVER)
 - the default field optionality is false (i.e. fields are mandatory by default), instead of NOT_IF_REACHEd which was the old default
 - old optional attribute values (always,notIfReached,never) are still supported in the parser, "notIfReached" results in optional=false
 - new "smart" way to determine the optionality of columns: optional fields get an optional column, non-optional columns get a non-optional column unless they can be by-passed in the form. Detection of by-passable fields happens through a Depth-First traversal process which simulated all possible traversals of the form.

+ extracted Strings from MultiListUI and TextBoxUI and moved them into strings.xml

Signed-off-by: Matthias Stevens <matthias.stevens@gmail.com>