Using Docker version of Lightning Network daemon to gain understanding
The documentation you are following is using the bitcoind wallet, so the address generated in Step1 will be derived from your bitcoind master private key. 

Checking the current c-lightning documentation, this seems outdated, step 3 and 4 are no longer needed.


Q1: this returns an address from the bitcoind wallet
Q2: you send a bitcoin transaction from any wallet you like, here the local bitcoind (Bitcoin Core) node is used.
Q4: here, you notify lightningd to use the funds when opening channels. But no channel is opened and thus no funds are committed to the Lightning Network yet. (as mentioned, seems obsolete now with current release)