修改扩展思路

1. 把一个ExternSearch扩展分离成多个扩展
2. 利用事件实现外部/多播继承