update_properties updates the properties of the dash/trash

How convenient it would be to use update_properties to update the properties of a trash/dash

```ruby
class Person < Hashie::Dash
  property :name, required: true
  property :email
  property :occupation, default: 'Rubyist'
end

p = Person.new({name: 'alice', occupation: 'dolls'})
p.update_properties({name: 'greg'})
p.name #=> greg
p.occupation #=> Rubyist
``` 

if you like it, i'll udpate the changelog and the readme.
We should probably rename `assert_required_properties_set!` to `assert_required_attributes_set!` to be consistent with attributes naming.