Implement `DefaultBlockchainActor`

Provide the default implementation of blockchain actor. After a refactor of the messages of `BlockchainActor`, the default implementation and its unit test are coded. 

Looking at the BitcoinJ code, I understand the current implementation of `DefaultBlockchainActor` works because `receiveFromBlock` is being called before `notifyNewBestBlock`, but I think this is an implementation detail of BitcoinJ and it is subject to change in further versions (which would change the behavior of this actor). Do you agree?