Separate extension startup into two steps: deserializeWalletExtension() and start().

* deserializeWalletExtension() is responsible for reading the extension

* start() will perform initialization related to the bitcoin network

Motivation is that some wallets (MultiBitHD) does not use WalletAppKit, and starts with reading the wallet before initializing the bitcoin network.
Now these wallets can call deserializeWalletExtension() when the wallet file is read, and call start() after the bitcoin network is up.