ActiveRecord/ActiveModel '#validate' alias for 'valid?'

It's unintuitive to call '#valid?' when you want to run validations but don't care about the return value, e.g. in a test:

``` ruby
x.name  = ""
x.valid?
assert_not_empty x.errors_on(:name)
```

Compare that to

``` ruby
x.name  = ""
x.validate
assert_not_empty x.errors_on(:name)
```

The alias in ActiveRecord isn't strictly necessary (the ActiveModel alias is still in effect), but it clarifies.

@dhh was positive when I asked a few months ago: https://twitter.com/henrik/status/390205394305703936

An alternative implementation would be to actually implement `valid?` in terms of `validate`, but I figured an alias would be the simplest thing that works.