Add pinning of phi values in explicit but fully coupled time steps
In self_test/adaptive_midpoint_magnetostatics add option for parallelism
Revert "Disable debugging bem solve after implicit step"

This reverts commit 087feb6f15a6f9e8b7dc147d5a0c325d6f77e774.
In parse.py add default value [] for print-data arg
Remove Decoupled_ms_has_been_calculated checks

Pretty useless now I've got it sorted out
Remove Bem_handler_pt null check from actions before newton

Belongs in build functions, not inside calculations. Bem_handler_pt won't
vanish...
Move some stuff from actions after newton solve to after implicit
Merge maybe_update_bem_boundary_conditions() into calling code
Change implementation of semi-implicit to use only one problem with pinning

* Hopefully this will allow me to debug the weirdness with explicit steps
  within adaptive IMR.

* Definitely reduces the volume of code by a large amount, may also
  simplify it.

* Not really complete yet, needs:
** dump/restart
** Swapping of solvers
** Explicit version
** Extrapolation of phi
** Documenting
Add extrapolation of phi for new semi-implicit
Remove old semi-implicit mesh generation code
Implement explicit step for llg with new semi-implicit machinery
Fix bug where unassigned equations were ignored by segregated_pin_indices()
Implement Jacobian calculation for ll form for magnetostatics only
Tidy up and comment segregated_... functions
In newton actions only do things when not in seg solve for phi

* eg outputting matrices, writing trace data
Add support for mass-swapping newton-solver options, use it for seg solves
Move check_not_segregated to generic_problem and specify current func
Fix comments on phi extrapolation
In magnetostatics_solve: skip if not using fem/bem