Fix method_missing to follow conventions

* trying to access a non-existing attribute will raise NoMethodError
* #valid_attribute? will return true if the attribute isn't nil?
* #valid_attribute! behaves as #attribute