Introduce shadow keychain notion
Married KeyChainGroup is being created using "xpub" keys
KeyChainGroup's currentAddress/freshAddress vend P2SH addresses for married keychains
Married HD wallets: KeyChainGroup currentKey/freshKey will throw an exception
Married HD wallets: add a method to marry the keys

A new method addFollowingAccounts is intended to "marry" a given list of extended public keys to the zero account key of the active keychain.
Test currentAddress is P2SH for married keychain
Married HD wallets: Use DeterministicKey to pass along following keys
KeyChainGroup now holds NetworkParameters object

It is used for constructing addresses for married keychains and to render keys' addresses in toString implementation.
Married HD wallets: Remake serialization of following keychains

 Root key of the following chain is being marked as "isFollowing" which means this chain follows the next non-following chain. When deserializing, KeyChainGroup takes care of mapping following chain to the followed ones thus restoring relationships between keychains.
Married HD wallets: Fix naming inconsistency - s/shadow/following
Fix married keychain serialization

Following keychains were serialized twice
Fix serialization of watching non-following keychains