Change the pull request to use an actual message.

The request message includes information from the node that allows the
server to build a lighter response than before, since it can avoid
including parent objects when they're not needed by the client.
Enveloped the client's pull in a transaction.