Major refactor of mutli-layer solvers

Includes additional allowed dry-state situations and the elimination of a
of the code that checks constantly what eigen and inundation methods have
been requested.