finished ifpass
added if to compiler and preprocessor, fixed bug in unitpass causing if to fail and fixed a test case