Reset the source ivar after every page load.
Reset the source ivar after every page load.

Fixes #14.

Without this, the following leads to lost changes:

1. Go to an existing draft.
2. Make edits.
3. Mark the draft as to-be-published.
4. Hit save.

Any changes to the content in (2) will be lost.

This bug happens because the content submitted by (4) does get saved,
but immediately after that, the publish method is called because of
(3), which happens to call the save method, which contains this line:

    markdown ||= content if !new?

As it happens, !new? is based on @source instead of there being a saved
file, and while saving the draft being published, we call content.title
= foo, which just so happens to set @source:

    def title=(new_title)
      if new?
        @source = Redhead::String["title: #{new_title}\n\n"]
      else
        @source.headers[:title] = new_title
      end
    end

As a result, whenever the title is set with title=, new? is thereafter
false, and so !new? is true, and so the publish method calling "save"
with no arguments leads to the contents of the file during publish being
the original content, clobbering the contents we just saved to disk
moments earlier.

aprescott/serif,aprescott/serif