Support the "DESCRIBE table" statement

This statement simply maps to:

  SELECT * FROM ca_catalog.ca_columns WHERE table_name = $2;

The syntax is borrowed from MySQL.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
query.h: Removed unnecessary fields from struct expression

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Bundle compilation parameters into struct in LLVM expression compiler

subexpression_compile() was being called with too many parameters that did not
change between invocations.  I created the "ca_llvm::context" class to hold
mose of the variables used during compilation of an expression.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Remove default label in constant and field handling code

This causes compiler errors to be generated for the types that are not handled,
so I added support for the types that had been left out in the past.

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