Fixed warning about an unused variable j.

In grid.cc we were calculating a value twice: setting j with it the
first time, and then (doing nothing with j) returning it the second
time. I removed the redundancy.
changed documentation
Removed unused includes; redefined mu0

as 4*M_PI*1e-7 rather than some (possibly mistaken) hard-coded double
value; (needed to include math.h for this)
clang-format'd
Added compiler warnings with -Wall again.

There's a warning about Boundary::CalcB not having a return statement
since it's a nonvoid function. I suppose in practice we will always want
to use SlowBoundary and not Boundary but for now I can't make
Boundary::CalcB a pure virtual since one is created in elliptic_test.
Should elliptic_test be updated?