subdirectory for main to avoid redundant compile

Cabal builds the library files twice if the main executable and the
library share the same hs-source-dirs. Moving the main executable source
code to a subdirectory avoids this issue.
Add Pretty to cabal file and remove Internal
`1 + if true then 1 else 1` should also not parse

Operators are also not allowed to have an `if`, `let`, `with` or `assert`
expression as their argument (just like functions).