Merge branch 'hotfix/4133'

Close #4133
Fixes #4103
[#3882] Fix issue with expired WeakRef callbacks

- Added code that validates that we have a callback from the listener
  prior to executing it. If not, we unregister the listener. This
  reinstates the original behavior from the tests (which were failing
  when WeakRef was present).
Created tests indicating behavior

- Identifier name defaults to "id"
- Identifier name is mutable
- getIdentifier() uses identifier name to lookup identifier
Implement identifier name property

- Added $identifierName property
- Added mutator and accessor for $identifierName
- Modified getIdentifier() to use the $identifierName when attempting to
  retrieve the resource ID.
Fix for console router not accepting controller word as part of a route
Merge pull request #4182 from robertboloc/#3358

Issue #3358 - Fix for console router not accepting controller word as part of a route
Merge branch 'hotfix/4182'

Close #4182
Merge branch 'hotfix/4182' into develop

Forward port #4182
Merge branch 'hotfix/3882' of git://github.com/weierophinney/zf2 into hotfix/3882
Merge branch 'hotfix/3882' into develop

Forward port #3882
Merge branch 'feature/restfulcontroller-configurable-identifier' of git://github.com/weierophinney/zf2 into feature/4181

Close #4181
Merge branch 'feature/4181' into develop

Close #4181
Allow passing objects to the url helper
Ducktyped params
Doing as insttructed