Tidy up warnings
warn() should be used for unusual problem status
Base.warn_once() should be used for missing solver capabilities