Add 'lang' attribute to Node objects

Also separated 'VoiceNodeData' from 'InternalNodeData' as it is
a special case due to its extra attribute. This removes an unneeded
comparison.