[WIP] Add allow_blank feature

_WIP because I have to write tests for this feature._

when you `define_attributes`, you can set `allow_blank` option as follows:

```ruby
define_attributes do
  attr :name, String, allow_blank: true
end
```

By setting `allow_blank` to `true`, `name` attribute becomes not to be reset when provided `blank?` values. But `nil` still resets  `name`.

The difference clearly appears when you use `active_support/core_ext/object/blank`.