core: Vagrant.has_plugin? tries to match gem name first

Search primary from the list of gem names which have been loaded by
`Vagrant.require_plugin`. Fall back to matching registered plugin names.
Merge pull request #2617 from tmatilai/has_plugin_by_gem_name

`Vagrant.has_plugin?` should use the gem name