[WK2] Add API to query if a download was user-initiated
https://bugs.webkit.org/show_bug.cgi?id=177435
<rdar://problem/34498422>

Reviewed by Alex Christensen.

Source/WebKit:

Add C and Cocoa private API to query if a download was user-initiated.

For clarity, we now construct navigation object for subframe loads
as well (we used to do so only for main frame loads). This allows us
to store the user-intiated flag and the redirect chain on the navigation
object instead of the WebFrameProxy.