Renamed output-text.c to cast.c

This source file will contain cast functions only

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Reorganized LLVM code generation and added more error checking

The return type of an expression is now propagated so that invalid expressions
can be detected, and more optimal code paths can be generated with ease.  The
first part of this is already accomplished -- AND and OR expressions will fail
at compile times if their arguments are not of type BOOLEAN.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>