Accepts strings as keys, only for declared attributes

Example:

```ruby
require 'lotus/validations'

class Signin
  include Lotus::Validations

  attribute :email,    presence: true
  attribute :password, presence: true
end

signin = Signin.new('email' => 'user@example.org', 'password' => '123', 'unknown' => 'blah')
signin.valid? # => true
signin.to_h   # => { :email => 'user@example.org', :password => '123' }
```

Closes #20