Rebuild BoundaryElement ranges when the mesh changes.  closes #3894
FiniteStrainMultiPlasticity refactored and it looks much nicer in parts now.

However, it's still huge, so this addresses #3879 but does not fix it entirely yet

Also, changed no_trap_fpe to no-trap-fpe in the test suite.  That possibly fixes #3882.
Merge pull request #3895 from friedmud/boundary_elem_range_3894

Rebuild BoundaryElement ranges when the mesh changes
Merge commit 'ee89dc1e28494734484dd49f71ea771ff8213fc5'
Merge pull request #3896 from WilkAndy/multi_refactor_3879

FiniteStrainMultiPlasticity refactored and it looks much nicer in parts ...
Merge commit '366aea7be1b3e073079dd802c9ff9bab56d391df'