[SPARK-4537][Streaming] Expand StreamingSource to add more metrics

Add `processingDelay`, `schedulingDelay` and `totalDelay` for the last completed batch. Add `lastReceivedBatchRecords` and `totalReceivedBatchRecords` to the received records counting.
Since this is more related to the global streaming metrics like `totalCompletedBatches`, it might be more consistent to put these near them and naming it `totalReceivedRecords` (please update the corresponding field in the listener as well if you change this).