Reworked validate_required_fields

 * Use CustomPresenceValidator which extends ActiveModel::Validator
 * Renamed validate_mandatory_fields -> validate_presence_by_custom_rules -
   which now accepts multiple params to support conditional validation
Fix specs after validate required fields rework