Fix error when using Block.verify() after the Block constructor

...which takes all the elements of the block as paramters.

ie:
Block(NetworkParameters params, long version, Sha256Hash prevBlockHash, Sha256Hash merkleRoot, long time,  long difficultyTarget, long nonce, List<Transaction> transactions)
then verify() calls getOptimalEncodingMessageSize() calls getMessageSize(), which throws for blocks.