Default priority for domain, set priority based on ordered domain ids

Ability to set domain properties for the following scenarios

(1) Priority not passed in when creating a new instance, set the priority to be highest priority + 1
(2) Reset the priorities for a ordered array of domain ids, based on the array index
(3) When a domain is deleted squeeze priorities based on (2) 
@mkanoor This can be simplified by using each_with_index like this:
```ruby
    ids.each_with_index do |id, priority|
      MiqAeDomain.where(:id => id).first.try(:update_attributes, :priority => priority + 1)
    end
```

I really want to use something like this, but the objects are not guaranteed to come back in the order the IDs appear in the ```ids``` array.  If someone knows of a good way to do this please let me know.
```ruby
    MiqAeDomain.where(:id => ids).each_with_index do |domain, priority|
      domain.update_attributes(:priority => priority + 1)
    end
```