The "mempool" message asks a remote peer to announce all transactions in its memory pool, possibly restricted by
any Bloom filter set on the connection. The list of transaction hashes comes back in an inv message. Note that
this is different to the MemoryPool object which doesn't try to keep track of all pending transactions,
it's just a holding area for transactions that a part of the app may find interesting. The mempool message has
Perform the most minimal parse possible to calculate the length of the message.
This is only required for subclasses of ChildClass as root level messages will have their length passed
into the constructor.
Implementations should adhere to the following contract: If parseLazy = true the 'length'
field must be set before returning. If parseLazy = false the length field must be set either
within the parseLite() method OR the parse() method. The overriding requirement is that length
must be set to non UNKNOWN_MESSAGE value by the time the constructor exits.