Added long datatype.

Longs can be created either literally (e.g. `5L`, `5l`) or with the new
`long` function, which also takes strings.