add support for icmp
This also includes support for generic icmps (without specifying whether it's a
eq/ne/ugt/etc).
The included test case is currently not optimized by LLVM (sight!)