Improve helm-semantic

- helm-semantic and helm-semantic-or-imenu now automatically pre-selects
  the semantic tag in context. For example, when cursor is inside a
  function like "helm-semantic", invoking the commands will move the
  highlighter to that function tag. With this change, effectively the
  commands can be used for effective navigation betweens adjacent tags
  in buffer.

- With a prefix argument, pre-select symbol at point instead. So, the
  original behavior is reserved.

- Pre-selection no longer narrows to a candidate.

- Do not enable using default as input for helm-source-semantic, since
  we already handle operation at point.

- Remove helm-semantic--maybe-set-needs-update, since we get tags
  directly using semantic-fetch-tags function, and it always gets latest
  tags when buffer is modified.
* helm.el (helm-preselect): Allow using a cons cell instead of regexp arg.
* helm-semantic.el: Use a cons for preselection.