Improve syncing logic
Improve syncing logic

- Add more logging to help clarify what is happening

In synchronizeHeaders', we need to request more headers, then handle
all incoming messages until we recieve more headers. Then we can
continue synchronizing our headers.

Since we can recieve more headers in both a HeadersMessage or a
MerkleblockMessage, we need to handle these messages, and then give
control back to synchronizeHeaders'.

clample/lambdabtc,clample/lamdabtc,clample/lambdabtc,clample/lamdabtc