RichSelector相关的一些升级。

主要是扩展TreeRichSelector的一些配置。
也有点奇怪，我认为如果`datasource`中存在状态信息，也应该只在第一次渲染的时候或者`datasource`有变化的时候用一次，不应该每次`refresh`都读，这会导致这样的情况：

1. 我给你个`datasource`完成渲染，此时选中A、B、C三个节点
2. 用户手选了D节点，取消了B节点的选择
3. 我因为一些原因调用`refreshContent`要刷新个
4. 因为`hasStateInNode`，又拿`datasource`同步了一把

这时会造成实际选中的不是A、C、D吗？