Added ability to pull from peering managers first

- Basically, allows overriding of items configured in the SM via a
  peering manager
Move creational code to methods

- Will allow overriding later in subclasses
Refactored FilterChain to use ServiceManager

- Updates base ServiceManager to allow arbitrary callables as initializers
- Created context-specific ServiceManager
  - Sets up initial list of invokables, aliases, and shared status
  - Toggles sharing flag in various setters to be off by default
  - Modifies get() to allow passing options as second argument
  - Overrides createFromInvokable to pass options to constructor, if present
  - Adds initializer to ensure we have a valid filter

Basically, serves as a POC for a SM-based plugin broker.
Share by default

- In looking at original plugin broker implementation, sharing is the
  default. This helps reduce a lot of boilerplate.
Added docblocks
Moved common functionality to AbstractPluginManager

- AbstractPluginManager defines:
  - allowOverride as on by default
  - validatePlugin() as abstract, and __construct() adds it as an
    initializer
  - get/createFromInvokable() allow passing options for requested
    plugins
- Filter\ServiceManager now extends AbstractPluginManager, and only
  needs to define invokables, aliases, and validatePlugin()
Renamed Filter\ServiceManager to Filter\FilterPluginManager
Fix several tests and change filter aliases

- Fixed a few tests that were failing due to usage of broker
- Realized that all previously created aliases were unnecessary, as
  canonicalization strips out all special characters and lowercases.
  Removed, and then added aliases for canonicalized classnames instead
  (which allows pulling filters by class name).
Refactor Filter\Inflector to use FilterPluginManager
Removed Zend\Filter\Input

- Obsoleted by Zend_Filter_Input
Refactored StaticFilter to use FilterPluginManager

- Identified another feature for PluginManager approach -- ability to unregister
  an instance after the fact and/or mark as not shared after registered.
Added way to retrieve by class name

- If the plugin service does not exist, and it's a class name, add it as
  an invokable
- Allows us to remove any aliases for class names!
Ensured all StaticFilter functionality works with FilterPluginManager

- setService($name, null) effectively removes a service by that name
- Added test to ensure above works as expected
Refactored Validator to use AbstractPluginManager

- Removed ValidatorLoader and ValidatorBroker
- Added ValidatorPluginManager
- Ensured all tests continue to pass
Refactored Log to use AbstractPluginManager

- Removed WriterBroker and WriterLoader
- Added WriterPluginManager
- Modified Logger to use WriterPluginManager
- Overrode setService() in AbstractPluginManager in order to validate
  the service before registering it.
Only validate a service if not null

- in order to allow unsetting a service instance
Refactored Barcode to use AbstractPluginManager

- Removed ObjectBroker, ObjectLoader, RendererBroker, and RendererLoader
- Added ObjectPluginManager and RendererPluginManager
- Refactored Barcode to use above plugin managers
Fix options in Filter\Inflector

- Were still referencing pluginBroker instead of pluginManager
- Also removed import for broker
Refactored Crypt to use AbstractPluginManager

- Removed SymmectricLoader, SymmectricBroker, PaddingLoader, and
  PaddingBroker
- Added SymmetricPluginManager and PaddingPluginManager
- Refactored Symmetric\Mcrypt to use PaddingPluginManager
- Refactored BlockCipher to use SymmetricPluginManager
- Ensured all tests pass
Refactored Mail to use AbstractPluginManager

- Removed Protocol\SmtpBroker and Protocol\SmtpLoader
- Added Protocol\SmtpPluginManager
- Refactored Transport\Smtp to use Protocol\SmtpPluginManager
- Ensured all tests pass