Add ConstantScanner and resolve scanning constants with docblock
Change method getConstants() that now return instance of ConstantScanner
Added methods for verifying if constant or property exists
Update docblocks
Update ClassScanner
Update method getConstants to avoid BC break
Update DerivedClassScanner and ClassScannerTest
Ensure factory is used when creating router

- Use the `factory()` method when creating a router instance.
- Pass the `RoutePluginManager` instance to the `route_plugins` configuration
  option prior to invoking the factory.
- Extract the `route_plugins` to pass to the constructor when in the factory.

Fixes an issue whereby route prototypes were not being created.
Merge pull request #4465 from MatyCZ/ConstantScanner

Add ConstantScanner to Zend\Code\Scanner
[#4465] Fixed test to identify error raised

- Add error handler, and verify E_USER_DEPRECATED was raised
- Ensure name of constant is correct case
Merge branch 'hotfix/4465'

Close #4465
Merge branch 'hotfix/route-factory-prototypes' of https://github.com/weierophinney/zf2 into pull/4622
Merge branch 'pull/4622'
Close #4622