refactoring currency and deposits channel / model / controller

把前几天对 Deposit 和 Withdraw 的想法又精进了一步。

DepositChannel 的职责弱化只承担读取通道配置的工作，强化 Deposit 本身，为每个通道建立对应类型的 Deposit 子类（Blockchain 与 BankTransfer 的标准通道统一进行处理）。

任意充值通道都应该具有一个 key，对应的 controller model 与 channel 配置可以通过编写 generator 进行生成。

此方法保证了币种与充值通道的扩展性，每个通道都有自己的代码控制权。