调整异常策略，增加团购城市支持

1.City/Calendar 组件 setTarget
时会对 target 合法性判断，非法值将抛出异常信息
2.调整 City 组件数据策略，使之支持自定义数据
3.组件基类未实现的 init 与 render 方法抛异常