Move outgoing referrer/origin tracking to Document.

The outgoing referrer is, generally speaking, the url of the Document that
initiated the request (if such a Document exists). This patch codifies the
fetch spec's rules that the referrer should be omitted when the referrer would
be a url with scheme about:, data:, or javascript:.

The primary behavior change is how referrers are handled in the case where
document.open() is called by a different document. In that case, we currently
change Document::m_url to the url of the document that triggered the open(), but
we don't update the referrer. This patch unifies those variables, so we will now
update the outgoing referrer as well as the document url.

I believe the fetch standard implies this is the correct behavior. Firefox and
Safari match our old behavior, Presto-based Opera matches the new behavior.

BUG=

Review URL: https://codereview.chromium.org/114523002

git-svn-id: svn://svn.chromium.org/blink/trunk@163877 bbb929c8-8fbe-4397-9dbb-9b2b20218538