Deal with no sorbing surface in sorption (porosity equal one).

- if porosity close to 1 in machine precision then set sorption none
- improve user error messages
- add sorption term in test 15 (where porosity is 1) so the results are unchanged due to this fix