Implement cast for basic myrial types

int(x) => LONG_TYPE
float(x) => DOUBLE_TYPE
string(x) => STRING_TYPE
boolean(x) => BOOLEAN_TYPE

Builds on #217.
is this actually case-sensitive? I know that @domoritz is leading the charge on lower-casing the examples so that they syntax-highlight correctly, and I think that he also wants to make the language case-**sensitive**.. in the other direction.