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.
The tokens are all still case-insensitive.  Somebody will need to do some sed-ing of the examples and unit tests before we can make the switch.