Cleaned up implementation

for [i59](http://gsd.uwaterloo.ca:8888/question/250/add-line-numbers-scopes-and-unsat-core-markers-to).

Also fixed bug [i74](http://gsd.uwaterloo.ca:8888/question/338/problem-with-translation-of-abstract-clafers-in) where unexpected result appeared when having a model with UnSAT core that contained comments.

Also fix for a bug that occurred when mergind i74 in clafer, an uninstantiated abstract clafer would come up as an UnSAT error.

Also changed how findNeccecaryBitwidth works it now uses the IR

Also changed how IG responds to increases in scope beyond bitwidth limit, IG now states the too large scope and then increases the bitwidth accordingly