修复计算紧邻距离的bug（改为动态规划实现），并添加相应单测

原先的紧邻距离是枚举第一个 token 的出现位置然后贪心获取其余最近的 tokens，这种算法不能保证得到最优解（比如我在 core/indexer_test.go 添加的测试用例，贪心会优先选择左方的 token2）。我用动态规划重新实现了紧邻距离，依次计算 (token1 ... tokenN) 的最优解。

另外改了文档一个错别字……阈值的阈读 yù，哈。