fix some bugs about echofunc

1) fix key "(" ")" mapping conflict with other
   plugins:
     first, move plugin folder into after/ folder,
     so that echofunc will be load after most plugins
     have been loaded

     second, if during initialization time, if it find
     "(" or ")" key have been mapped, it will try to append
     <Plug>EchofuncXX function to it.
2) fix some bugs to let echofunc work more correctly, sometimes,
   if you input code like this:
      function((int)a); //the second "(" will still be call to
      display function, not correct. and the first ")" will clear
      function display, the correct way is that we should ignore
      "(" and ")" around int ==> (int), this need some trick to detect
      "(" and ")" matches, so that no matter what you input:
      function((int)a, (int)b, (int)c) // the type convert pairs will
      be ignored.
3) add a audocommand to monitor CompleteDone event, this will also do
   echofuncdisplay when the insert complete complet a function like this:
   function( , the auto command group is:
   ECHOFUNC  CompleteDone <buffer> if getline(".")[:col(".") - 1] =~ '\m\k\+\s*($' |call EchoFunc() | endif