autocomplete item extension

* add `target` attribute, as final input-value after selection
* add new test case for the feature
* update existing test cases to run ok
* add example for the feature

新搞一个分支, 添加了测试用例和demo, 测试用例全部通过, demo可以按预期交互, 重新PR给你们.

你们的开发环境和开发方式跟我的比起来简直高大上啊, 平时还没这样玩过, 算是跟你们学习一把, 我还太菜了.

另外: 那个你不想合并的filter(`iStringMatch`), 我又精简了代码, 提交到另一个分支上了, 感兴趣可以审核一下: https://github.com/wonderbeyond/autocomplete/commit/ec09d4bafd7458e42d2c40f6ddad78c1106b843e

谢谢!
    {
        value: '000198',
        label: '天弘增利宝货币 000198',
        alias: ['天弘增利宝货币', 'TIANHONGZENGLIBAO']
    }

这种写法其实满足不了要求, 因为按照之前的代码规则: 最终写入到input的是label(而不是直觉上的value), 所以没法让选项展示的和写入input的文本保持不同. 原来的相关代码如下:

    if (index >= 0 && item && data) {
      this.input.setValue(data.label);
      this.set('selectedIndex', index, {
        silent: true
      });