WalletFactory and WalletBitkey classes

I'm working on Bitkey protocol support in my own branch, but I merge Electrum upstream with my branch quite often and merging it manually is a bit annoying. I'd appreciate if this stub of bitkey branch would be accepted to upstream, to make my life much easier. The change itself is backward compatible, it just introduces new command line switch (--usb) and if it is presented, it loads WalletBitkey class instead of default Wallet.