Reland "Allow querying StoragePartition path during NetworkContext creation"

This is a reland of 8f0166a59b6fadbd7f6aa858bd23e643f7297fac
No modification has been made to original CL:1735572, so TBRing.

Reason for reland without modification:
The original change was reverted due to failures in the
EnterpriseEnrollmentTest.StoragePartitionUpdated browsertest.
From local testing, it seems to have been flaky and this CL has not made
the flakiness significantly worse.
In the meantime, I've submitted CL:1746181 to make the test not flaky.

TBR=jam@chromium.org

Original change's description:
> Allow querying StoragePartition path during NetworkContext creation
>
> When creating a NetworkCon NetworkContext for a StoragePartition, ensure
> that the StoragePartition is already in the StoragePartitionImplMap and
> its GetPath member can be called.
>
> This requires changing from the sequence:
> (1) StoragePartitionImpl::Create <-- also creates NetworkContext
> (2) put into StoragePartitionImpl map
> to the sequence:
> (1) StoragePartitionImpl::Create <-- does not create NetworkContext
> (2) put into StoragePartitionImpl map
> (3) StoragePartitionImpl::Initialize <-- creates NetworkContext
>
> DCHECKs guard that no other functions except for GetPath() and
> browser_context() are called until StoragePartitionImpl::Initialize has
> returned.
>
> Bug: 939344
> Test: All tests still pass
> Change-Id: Ib5fdd5dae6c53e773ac5ba4575c671b1ad3595cc
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1735572
> Commit-Queue: Pavol Marko <pmarko@chromium.org>
> Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#685582}

Bug: 939344
Change-Id: Id7e0988051805ae5640211b422755ce3485beab4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1746182
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#685900}
6 files changed