Check for other representations of true and false
Future-proof attribute= method

While looking into my [`column_for_attribute` method suggestion], I
noticed that @seangriffin had [deprecated] some related code, which
would cause this to break for virtual attributes.

[`column_for_attribute` method suggestion]: https://github.com/calebthompson/time_for_a_boolean/pull/1/files#r12305775
[deprecated]: https://github.com/rails/rails/commit/ae96f22

While chatting with him, he pointed out that `value_to_boolean` had been
removed in 4.2 and that for that version I'd need to use a (probably
still private) API, [`ActiveRecord::Type.type_cast_from_database`],
which doesn't seem like that much fun.

[`ActiveRecord::Type.type_cast_from_database`]: https://github.com/rails/rails/blob/174d73a/activerecord/lib/active_record/type/value.rb#L19-L24

So instead, I'm duplicating the [logic behind that method] as it seems
like the most stable way.

[logic behind that method]: https://github.com/rails/rails/blob/728fa69/activerecord/lib/active_record/type/boolean.rb#L10-16

Come Rails 5.0, when `ActiveRecord::Type` is more likely to be in the
public interface, we can perhaps revisit this.
time_for_a_boolean 0.0.4

Use `ActiveRecord::ColumnAdapter::Column::TRUE_VALUES` to determine
"truthiness" in the writer method, allowing things like checkboxes in
the controller to set the attribute correctly.