Name loaded varaibles.

Produces slightly nicer IR code.
Treat string literals and literal pointers similarly
Store LispTypes along side llvm::Values.

This allows for more precise type deduction since we can represent
things like "is a number". It also lets us remove the llvm::Undef hack
for typing variables without values.

Make SExpr::ltype() return a LispType as well.
call: Remove unused parameter.