Change how constants are set.

By setting constants on the host, it makes it easy to have the type be
correct.  This commit allows numbers to be set for php constants, for
instance.  Rather than turning the numbers into strings, they should
stay as numbers.

Separating out the logic also helps make the execute script much
simpler.

More functionality can be added to the language definitions now, as
well.