Fix History.{push,replace}State handling of null 'url' argument

According to the specification[1], if the 'url' argument is null, the
new URL should be the URL of the current entry.  A relative URL should
be resolved using the document's base URL.

Adjust History::urlForState() to not treat a null (isNull()) string the
same as an empty (isEmpty()) string, which it otherwise does since
isEmpty() returns true for null strings as well.

BUG=279278

[1] http://www.whatwg.org/specs/web-apps/current-work/#dom-history-pushstate

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

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