Created SessionConfig factory

- Uses "session_config" key, assigned to an array of options, to create
  a Zend\Session\Config\ConfigInterface instance.
- By default, uses SessionConfig as ConfigInterface implementation.
- A "config_class" subkey can be used to specify a specific
  ConfigInterface implementation to use.
Created SessionManager factory

- Consumes ConfigInterface, StorageInterface, and SaveHandlerInterface
  services in order to create a SessionManager instance. Services do not
  need to be present, as null values will be used by default if not
  found.
Created a factory for StorageInterface objects
Implemented session storage service factory

- Marshals arguments from Config service
- Proxies to Zend\Session\Storage\Factory for actual creation
Added note about save handler service

- Save handler factory will not be provided by the framework at this
  time.
Created session Container abstract factory

- Provide an array of container names in "session_containers"
  configuration.
- Uses `Zend\Session\ManagerInterface` service, if available, when
  instantiating containers.
- Session container services must be prefixed with "SessionContainer\\"
Fixes typo in docblock

- s/SessionConfig/SessionContainer/
[#4268] CS fixes

- per php-cs-fixer
Remove unnecessary annotations

- per @samsonasik
Set created manager as default manager for Containers

- Passes created `SessionManager` instance to
  `Container::setDefaultManager()`
Make ability to inject manager as Container default mutable

- New Config service key, "session_manager"
  - single key for now: "enable_default_container_manager". Defaults to
    true, meaning "inject the Container". Set to false to disable this
    behavior.
Merge branch 'feature/session-service-factory' of git://github.com/weierophinney/zf2 into feature/4268
Coding standard fixes
Merge branch 'feature/4268' into develop

Close #4268