Make partial_lt work better for more differing package sets
Add tests for partial_lt
Make sure solve() always returns a list