General Leibniz's rule, why cases k=0 and k=n are separated from the sum? 
1) Firstly, I don't understand why cases $n=0$ and $k=n$ are seperated from the sum?
2) Then if we put k=1 then why n on the top of the sum symbol still stays the same instead of changing to $n+1$? 
3) Why after the first summation f is derived in k-th order instead of $(k+1)$ like before? And if the n on the sum symbol doesn't change, then why do function $g$ is derived at $(n+1-k)$ th order? ( You can correct my terminology.)
4) Why after the second summation symbol there is $k-1$? 
 A: The  following    might     be   helpful.

Ad (1)
Firstly, I don't understand why cases $n=0$ and $k=n$ are separated from the sum?  

In fact it is not plausible  to separate  the cases $n=0$ and $k=n$  at this moment. It  becomes  more  plausible  when  we change the  order  of the steps.
Note, splitting the summation was  done in order to use the binomial identity
\begin{align*}
\binom{n}{k-1}+\binom{n}{k}=\binom{n+1}{k}\tag{2}
\end{align*}

We start with the line commented with "splitting the summation" and obtain
\begin{align*}
&\color{blue}{\left(f(x)g(x)\right)^{(n+1)}}\\
&\quad=\sum_{k=0}^n\binom{n}{k}f^{(k+1)}(x)g^{(n-k)}(x)
+\sum_{k=0}^n\binom{n}{k}f^{(k)}(x)g^{(n+1-k)}(x)\\
&\quad=\sum_{k=\color{blue}{1}}^{\color{blue}{n+1}}\binom{n}{\color{blue}{k-1}}f^{(\color{blue}{k})}(x)g^{(n\color{blue}{+1-k})}(x)
+\sum_{k=0}^n\binom{n}{k}f^{(k)}(x)g^{(n+1-k)}(x)\tag{3}\\
&\quad=\left(\sum_{k=1}^{n}\binom{n}{k-1}f^{(k)}(x)g^{(n+1-k)}(x)+\binom{n}{n}f^{(n+1)}(x)g(x)\right)\\
&\quad\qquad+\left(\sum_{k=1}^n\binom{n}{k}f^{(k)}(x)g^{(n+1-k)}(x)+\binom{n}{0}f(x)g^{(n+1)}(x)\right)\tag{4}\\
&\quad=\binom{n}{0}f(x)g^{(n+1)}(x)+\sum_{k=1}^{n}\binom{n+1}{k}f^{(k)}(x)g^{(n+1-k)}(x)\\
&\quad\qquad+\binom{n}{n}f^{(n+1)}(x)g(x)\tag{5}\\
&\quad\,\,\color{blue}{=\sum_{k=0}^{n+1}\binom{n+1}{k}f^{(k)}(x)g^{(n+1-k)}(x)}\tag{6}
\end{align*}

Comment:


*

*In (3) we  shift the  index  of the  left-hand sum by one to start with $k=1$. We now  have the convenient situation that  we   can use the  binomial  identity from (2).  But the  sums   do not have  the same   index  region.
This is   the reason why  we  separate  the  case $k=n+1$  from the  left-hand sum  and the  case   $k=0$   from  the right-hand  sum in (4).

*In  (5)  we can apply  (2) since we have separated the two cases where the indices do not coincide.

*In (6) we merge the single terms back into the sum.

The above derivation should help to also clarify parts of the other questions.  A  somewhat more detailed look to the index-shift in (3):
\begin{align*}
\sum_{k=0}^n f(k)&=f(0)+f(1)+\cdots+f(n)\\
\sum_{k=1}^{n+1}f(k-1)&=f(0)+f(1)+\cdots+f(n)\\
\sum_{k=-1}^{n-1}f(k+1)&=f(0)+f(1)+\cdots+f(n)
\end{align*}
Note  that an index shift  by one implies an argument shift by one in the other direction.

