Changed many private vars and methods to protected so they can be extended.
Fixed broken custom validation message from maximumLength on checkbox groups.
Added more helpful error messaging in a  few places.
Fixed issues with requires vs empty (a few "0" chars were being marked as empty).
Added better string encoding for validation messages
Fix bug in checkbox value to allow "0" as a value.
Fix bug in select to allow "0" as a valid value.