Do not change days_of_week to string before save.

* Remove empty values before save but retain the array storage.
* Provide convenience method for showing as a string.
* Replace all calls with string call.



The `reject!` method actually modifies the array you call it on, so the call to:
```ruby
self.days_of_week = self.days_of_week.reject!(&:empty)
```
was redundant and was the primary source of issues here. The other is just best practices and should make sense.