[#3650] Do not re-inject EM instance

- If the controller already composes an EM instance, do not re-inject
  it. This allows factories to inject an EM instance and attach
  listeners.
[#3650] Fix failing test

- Override getEventManager() in test asset so that we can test
  injection, as parent was lazy initializing an EM instance.
[#3625] Do not query abstract factories for registered invokables

- Prior to this patch, if a route has been registered as an invokable,
  but the DiAbstractServiceFactory was also present, using the FQCN to
  retrieve the route would result in DI being invoked. In the case of
  the various shipped ZF routes, this was undesirable, as the factory
  method for these classes was intended for instantiation; usage if DI
  caused failures.
- This patch overrides the setInvokableClass() method of the router
  plugin manager such that it also calls setAlias() to alias the FQCN to
  the service name; this ensures that usage of the FQCN for a class
  already registered as an invokable will work properly.
[#3625] Added additional test for short names

- Added test demonstrating routes may be pulled by short names. Ran this
  test both before and after the setInvokableClass() change; passed in
  both cases.
Merge branch 'weierophinney-hotfix/3650'
Merge branch 'hotfix/3625' of https://github.com/weierophinney/zf2 into weierophinney-hotfix/3625
Merge branch 'weierophinney-hotfix/3625'