Reuse suggester implementations in suggest parsers
Highlighting shouldn't fail when the field to highlight is absent.

PlainHighlighter fails with a NPE when the field to highlight is marked as
stored in the mapping but doesn't exist in a hit. This patch makes
FieldsVisitor.fields less error-prone by returning an empty list instead
of null when no matching stored field was found.

Closes #3109
Store _version as a numeric doc values field.

Doc values can be expected to be more compact than payloads and should provide
better flexibility since doc values formats can be picked on a per-field basis.
This patch:
 - makes _version stored as a numeric doc values field,
 - manages backwards compatibility: if a version is not found in doc values,
   then it will look into payloads,
 - uses background merges to upgrade old segments and move _version from
   payloads to doc values.

Closes #3103
add 0.90.2 version
Add more information and options in PluginManager
New option -l, --list displays list of existing plugins
New option -h, --help displays help
Deprecate options:
   -install is now -i, --install
   -remove is now -r, --remove
   -url is now -u, --url
Catch ArraysOutOfBoundException when no arg given to install, remove or url option
Add description on plugin name structure:
- elasticsearch/plugin/version for official elasticsearch plugins (download from download.elasticsearch.org)
- groupId/artifactId/version   for community plugins (download from maven central or oss sonatype)
- username/repository          for site plugins (download from github master)
Closes #3112.