Rename: MultiOptionAbstractControl -> AbstractOptionControl
Add: setOptions method + OptionControlsIterator
Improve: error message
Add: more tests
Change: required by default
Improve: return old array
Fix: docblock
Fix: typo
Improve: resetErrors() on each isValid() call

Validation errors must be fetched after each isValid() call.
Initial commit
Refactor: isValid()

Dismiss unnecessary variable $isValid.
Store values in $this->values only when $element->isValid() returns
true.
Change: validation logic

From now on the validator will look for empty string OR empty string in
(multidimensional-) arrays.
Refactor: isValid()

Dismiss unnecessary variable $isValid.
Revise validators due to changed validation logic of
Validator\InputNotEmptyString.
Rename: rawValue -> data

Following API of Form (setData()/getData())
Update: doc
Fix: return value
Fix: return value
Remove: misleading docblock description
Update: doc
Fix: restrict calling isValid() to once per life-cycle

The life-cycle is typically one request.