Add --only-if-changed option.

Pull request redux, without the merge commits. Is that better?