Check for published status on save.

If the article is published but no published_at date exists, set it
before saving the model.

If the article is set to draft but has a published_at date, set the
published_at date to null.

Signed-off-by: Spencer Deinum <spencerdeinum@gmail.com>