Add bool type corresponding to the C99 _Bool/bool.

[jdy: edited commit message to reflect the apparent distinction
 between C99 _Bool and LLVM i1.  See the discussion at:
   https://github.com/ocamllabs/ocaml-ctypes/pull/220
 Original commit message below.]

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>