Add bool type corresponding to the llvm i1/ C99 bool

The idea is to find a way to represet the llvm i1 type, since llvm
ExecutionEngine also uses libffi now. It is equivalent to the C99
bool. We use the OCaml native bool plus Val_bool/ Bool_val. The actual
memory representation of the i1 wastes 7 bits, since one quantum of
memory is 8 bits. This patch is mostly a nice-to-have, since we can
always represent the data as a char and coerce it into a bool
using (bool_of_int (Char.code (getf value lang_bool))) in the user
program.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>