Include Validations in Runnable
Use writer instead of assigning ivar
Clear runtime errors when setting result if there are no errors

This isn't a situation that I've encountered, but after changing the
behavior of #valid? in 0394300 I realized it should probably behave this
way.
Assign instance variables in .new instead of #initialize

This way the class that includes Runnable doesn't have to call super
from #initialize. I think this is uglier from the module side but
cleaner from the class side.