Comment a bit of code that confused me
DiffPhysics::nonlocal_ functions

Also add some helper code for refactoring, update outdated comments
Add DiffContext::nonlocal_reinit()

And FEMContext::has_elem()
Enable DofMap::dof_indices on NULL Elem

This is now useful for getting just the indices of SCALAR dofs.
Add TimeSolver::nonlocal_residual()

And add implementations, and refactor the hell out of foo_residual()
to keep those implementations simple.
Assemble nonlocal residual/jacobian contributions
Don't bother futzing with an empty element system

This is probably a trivial improvment to efficiency in opt mode, but
more importantly it fixes some regressions in devel mode.
Restore variable number ordering for SCALAR dofs

Putting them out of order was screwing up FEMContext initialization,
and I'd prefer to make this code less complicated rather than make
that code more complicated.

Hopefully nobody else has hard coded the previous wacky ordering into
their applications...
Fix DEBUG-mode segfault

When using the new "call dof_indices with elem=NULL" behavior,
dof_indices really can't dereference elem...
Don't forget to add the nonlocal residual!
Fix default nonlocal_mass_residual

TimeSolvers are going to use elem_solution to store time derivatives
so we can't just pull scalars directly from current_solution()
Allow elem==NULL where appropriate in FE methods
Allow elem==NULL where appropriate in FEMContext
Default nonlocal "quadrature rule" = one value
string_to_elem for INVALID_ELEM
Allow any FE to reinit with NULL Elem*

"reinit" for a non-SCALAR FE just effectively means "clear all the
data".

It might have been simpler to have FEMContext selectively reinit only
the SCALAR FE objects, but making them all work is probably more
flexible in the long term.
FEMContext::nonlocal_reinit() can be completed now
Avoid indexing into potentially empty vector
Reapply const

The refactoring that required removing it got reverted.
Only evaluate nonlocal_foo on one processor

And since the last processor is where we're storing SCALAR dofs, let's
evaluate it there.