test: add some unit tests for merkle.cpp
test: add some unit tests for merkle.cpp

following situations are covered:
- empty block
- one Tx
- Merkle root of a block with odd Txs should not change with repeating
last one
- Merkle root is computed with combining Merkle root of left subtree and right subtree
- block witness is Merkle root of a block when setting first Tx
to zero.

Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>

Former-commit-id: 3fb6b8780d49cdeae65e6d9756f79469c439344e
syscoin/syscoin2,syscoin/syscoin,syscoin/syscoin2,syscoin/syscoin,syscoin/syscoin,syscoin/syscoin2,syscoin/syscoin,syscoin/syscoin,syscoin/syscoin,syscoin/syscoin2,syscoin/syscoin,syscoin/syscoin2,syscoin/syscoin,syscoin/syscoin2