Avoid duplicate plugin assertion.
Avoid duplicate plugin assertion.

This is a fairly rare issue, but when it _does_ happen it is quite
difficult to debug.

The specific setup is:

* addon A depends on ember-compatibility-helpers
* addon A has the following in its `index.js`:

```js
module.exports = {
  name: require('./package').name,

  options: {
    m3: true,
    babel: {
      loose: true,
    },
  },
};
```

* addon B depends on addon A (**not** a dev dep)

In this scenario, addon A will be instantiated twice. Once for addon B's
dummy app and again for addon B's direct dependency. Since addon A had a
_mutable object_ on its prototype (yes, you know whats coming now)
ember-compatibility-helpers adds a `plugins` array to it and pushes into
it. Even though it sets a local flag saying that `_registeredWithBabel`,
that flag is _per instance_ of ember-compatibility-helpers and in our
scenario we actually have **two** instances (therefore making our check
moot).

The fixes here, prevent adding our comparison and debug plugins twice
by checking if they are already present before pushing (it also adds a
name property, which helps as well).

pzuraq/ember-compatibility-helpers,pzuraq/ember-compatibility-helpers