Added instructions to teach souper about undefined behavior and also add...

...ed test cases

- This patch has support for all instructions UB
- Test cases integrated in LIT infrastructure
- Fix to set solver path via command line by John
This isn't the division corner case, which is a signed division of MIN_INT by -1. It's tricky to write a test case for this, but I think this should work:

    %div = sdiv i32 %x, -1
    %a = icmp ne %x, -2147483648
    %b = icmp ne %div, %div
    %c = or %a, %b, !expected !1 

i.e. show that you can derive an absurd result from %x == -2147483648.