Fix Repository.register to replace an old one correctly, in case a new one is inserted before the old one.

同名のオブジェクトをパッチから上書き登録しようとした際、
挿入先の target の位置が既存のオブジェクトより先にあった場合(同じ位置に追加しようとした場合)に、
新しいオブジェクトの方が削除されてしまっていました。
必ず先に既存のオブジェクトを削除してから追加するように変更しました。