State

Added state support on a per-Provider level.  states may be generated by the user or by this library which uses ```bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));``` (provided this PR passes HHVM)

The state manager must implement \ArrayObject thereby making the barrier to entrance for other state managers very low.  By default the ZF2 Session container is swappable and a Symfony state manager is included and tested.