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. 

Yes. That's probably the only one promise described in `BlockChainListener` they didn't broke. 

```java
    /**
     * <p>Called by the {@link BlockChain} when a new block on the best chain is seen, AFTER relevant
     * transactions are extracted and sent to us UNLESS the new block caused a re-org, in which case this will
     * not be called (the {@link Wallet#reorganize(StoredBlock, java.util.List, java.util.List)} method will
     * call this one in that case).</p>
     * @param block
     */
    void notifyNewBestBlock(StoredBlock block) throws VerificationException;
```

I'm afraid we cannot do anything but trust in their Javadoc.