Fix published_at setting without use of publish!

Before, published_at was only set when you explicitly called publish!
on a page. It wasn't set when a user just edited the page properties
and changed the public flag to true. This commit changes this. Whenever
a page is made public, it's published_at timestamp is set if it wasn't
set before.