Refactor behavior event collision solution.

After a talking with @jasonlaster after bbconf about his interesting
discussion with @jashkenas dealing with behaviors and our hackish approach to
resolving key collisions, I have implemented the new solution.

This implementation takes advantage of jquery's namespaced events.
http://api.jquery.com/event.namespace/ It is a feature that while
targeted at jquery plugin authors fits our needs perfectly. Allowing us
to generate a namespaced non-colliding event key that just works.

Backbone actually already does this to an extent under the hood with

```
    delegate: function(eventName, selector, listener) {
      this.$el.on(eventName + '.delegateEvents' + this.cid, selector,
listener);
    },
```

So here we are joining the club.
Merge pull request #2158 from marionettejs/sjs/behavior-collision-fix

Refactor behavior event collision solution.