Improvements to description & audio feedback

Signed-off-by: Matthias Stevens <matthias.stevens@gmail.com>
- Fix subtle bug in ChoiceField & MultiListField#MultiListItem (discovered with Ben) which led to choice siblings or multilist item siblings with the exact same attributes being treated as the same and resulting in a single dictionary entry. Resolved by including their position within their parent's children in the hashCode() and equals() implementations.
- Improved javadoc/comments in Controller
- removed duplicate javadocs on Constraint

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