math: LP interior point; add test, fix bug #104