Retrieve only whitelisted attributes
Merge branch 'whitelisted-attributes'
Refactoring: extract attributes and attribute responsibilities
Introduce lazy coercion for attributes. Closes #12

It doesn't require to invoke #valid? to have a corced attribute.

Example:
  require 'lotus/validations'

  class Signup
    include Lotus::Validations

    attribute :age, type: Integer
  end

  signup = Signup.new(age: '23')
  signup.age # => 23