给watch添加源码缓存

现在的逻辑，在watch下每次更新文件还是会去扫描一次项目来拿到项目文件，这个过程非常的耗时；其实完全可以把文件目录缓存下来。

- 在`kernel`里面加一个接口，来提供缓存的源码列表