Added MappingRules enum.

Updated interface and documentation.
Added a MappingRuleViolationException class.

Updated comments.