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
The langref (http://llvm.org/docs/LangRef.html#id106) says:

> If the exact keyword is present, the result value of the ashr is a poison value if any of the bits shifted out are non-zero.

I think a more useful test would check that ```%shr``` is not equal to zero, as that can only happen if the only bit set in the constant 2 is shifted out.