consolidate `validates_presence_of` validations
metaprogramming and stylistic changes

 - Use `define_method` to clean up definition of methods that only
   vary by the name of the day they reference and the corresponding
   numerical value.

 - Remove calls to self, explicit return statements, etc.