Improving Jacobian sub-block adding

When adding a Jacobian block, add only those that were actually used.  It is
determined by calling Assembly::jacobianBlock.  We assume that if that one is
called, something will add data to it and therefore we have to add it.

Simply checking the coupling matrix is not enough, because it does not respect
the subdomain restricted variables. This should fix that, becuase the subdomain
resctiction is taken care of at the upper levels like ComputeJacobianThread.

Closes #4384
Fixing typo in method name