Add :recursive option on #restore! to restore associations

This pull request adds a `recursive` option to the `#restore!` and `.restore` methods so associated records (that were soft deleted) will be restored too when we restore the record they belong to.

```ruby
class User < ActiveRecord::Base
  acts_as_paranoid
  has_many :comments, dependent: :destroy
end

class Comment < ActiveRecord::Base
  acts_as_paranoid
  belongs_to :user
end

user = User.create
3.times { user.comments.create }

user.destroy
user.destroyed? # => true
user.comments.count? # => 0

user.restore! :recursive => true
user.destroyed? # => false
user.comments.count # => 3
```