Allow services to have empty requests

I was doing some work involving calling services on an arduino, when I noticed that rosserial_python was making the service call, and immediately producing None objects before waiting for a response. I realized this was because my service had no datafields in its request.
I also noticed that the error messages which complained about incorrect md5sums for services used incorrect names for the ServiceServer's request and response member objects.