Optimize p2p transfer business layer logic (#501)
* Optimize p2p business layer logic
* Merge dev branch code
* Fix new mined block can't broadcast error
* Remove unused test file
* Del unused parameter
* Add RWMutex
* Add sent message filter
* Fix request block quite bug
* Del unused function BroadcastToPeers
* Fix new peer channel bug
* Del chainHeight from blockKeeper
* Fix sync check logic bug
* Add business protocol handshake
* Del unused code
* Optimize code format
* Del unused function
* Refactor request block by hash/height function
* Refactor tx notify handle
* Refactor BlockRequestWorker to sequential process
* Fix net bestheight error
* Refactor p2p net sync code
* Refactor p2p net sync code
* Refactor BlockRequestWorker of blockkeeper
* ValidateTx return orphan flag
* For p2p transfer test
* For p2p transfer test
* Check exist block whether orphan
* Enable peer exchange function default
* Add txpool sync when new peer connected
* Fix golint check error
* Change mine difficulty
* Fix requst genesis block bug
* Fix address compare function
* Fix blockrequest bug
* Revert "For p2p transfer test"
This reverts commit
e6a36d86d5077f6c520dbfbb6eee2ab4335012e5.
* Fix request block bug
* For test
* Fix code review problem
* Optimize log printing
* Fix ci check error