Add Navigation Timing via Resource Timing where available

Also added actual requested URL by SPF and cached info to timing response object.
Moving conversation from https://github.com/marcelduran/spfjs/commit/e06808b23418a62ee0bc6cbd95b47212534d04bb#commitcomment-7000605
to this PR diff (the "Files changed" tab) to avoid tying these comments to a
specific commit that might get lost during a squash.

For navigations, we definitely want to be compatible with Navigation Timing, not
Resource Timing. In comparing the [Navigation Timing Processing Model][]:  
![](http://www.w3.org/TR/navigation-timing/timing-overview.png)  
with the [Resource Timing Processing Model][]:  
![](http://www.w3.org/TR/resource-timing/resource-timing-overview.png)  
it looks like all the network related keys are the same with `navigationStart`
used for navigation and `startTime` used for resources.

So, I think we should do the following:
    
1.  If the request type matches `navigate*` or `prefetch*`, then use absolute
    timestamps and include `timing.navigationStart`.
2.  Otherwise, use relative timestamps and include `timing.startTime`.

Seem reasonable?  (I think this implies changing our initial use of the
`startTime` key to mark when the request begins.)


[Navigation Timing Processing Model]: http://www.w3.org/TR/navigation-timing/#processing-model
[Resource Timing Processing Model]: http://www.w3.org/TR/resource-timing/#processing-model