contact has_many addresses with option of preference, more specs for associations and validations