Added support for talking to c++ ros nodes.

C++ ROS nodes seem to use a slightly different xmlrpc encoding.  This should
enable both python and C++ nodes to talk to rosgo nodes.

Among other things, I had to change the behavior of parseValue() because sometimes completely empty values are sent, so when parseValue() says "read the first token" it is actually reading the closing token of the "value" tag.  Therefore I changed it so it *always* reads the closing tag, which meant I had to change every place in the code that called parseValue().  This also meant the tests for parseValue() needed to have "value" tags added to all their test strings.

This pull request depends on https://github.com/akio/gengo/pull/2 .  If you merge this without that, none of the generated messages will implement the ros.Message interface, since they won't have the Type() function generated for them.