Allow function calls to be optimized

E.g. (and x) will be optimized to x
Extract the annotation when using getValue

Should make explicitly giving the annotation obsolete
Disable DataKind extension

Doesn't add any cool features yet.
Correctly handle negative numbers as Bitvectors