Add Identifier.text attribute (prepare for #12)

The new text has the same meaning as the current string (which now
delegates to text), but as #12 will change the meaning of string, it’s
better to have a dedicated attribute for text.

The tests that test parseIdentifier(identifier.text) being a no-op have
been changed to use text instead of string.
Add Node.{toC,c}eylonExpression (closes #12)

dds a Node.toCeylonExpression() function and a Node.ceylonExpression
attribute that caches the result of toCeylonExpression().