Fundamental Rewrite of Validation System

* Moving all 'soft' validations to cart validations instead of reservation validations. This enables the cart to run most validations only one time instead of for every equipment model in the cart (available, renewable, duration, max cat count, max model count, reserver has overdue, blackout dates)
* Reservation.validateSet is no more
* Only necessary validations run when the dates are updated and when items are added/removed (doesn't check for blackout dates when adding a new item to cart, for instance)

This seems to call for a factory change to make the category trait evaluate immediately. Possibly something similar to the `valid` trait in the reservations factory?
```ruby
trait :valid do
  after(:build) do |em|
    em.category = FactoryGirl.create(:category)
  end
end
```