Added Zend\Crypt\FileCipher for file encryption/decryption

According to this [refactor](https://github.com/zendframework/zf2/pull/6410#issuecomment-47108687), I added a new class `Zend\Crypt\FileCipher` for the encryption/decryption of files.
Moreover in this [commit](https://github.com/ezimuel/zf2/commit/3f49a6b3afd95e73d140f4d9380ee11a93ad8995),  I removed the compression part to prevent potential information leakage (e.g. [CRIME](http://en.wikipedia.org/wiki/CRIME) attack).

The main methods of this class can be used to encrypt/decrypt a file:
- `encrypt($fileIn, $fileOut)`
- `decrypt($fileIn, $fileOut)`

where `$fileIn` is the input file to encrypt/decrypt and `$fileOut` is the output file. 
The  `Zend\Crypt\FileCipher` component can be used to encrypt/decrypt files of any dimension. I used a buffer memory of 1 MB to read the files, block by block.The encryption of file follows the same procedure of `Zend\Crypt\BlockCipher::encrypt`, using **encryption-then-authenticate** approach with HMAC (SHA256 by default).
We need to be consistent with the rest of the framework.   Fluent interfaces are out, maintaining encapsulation is in.

> On Jun 26, 2014, at 8:01 AM, Enrico Zimuel <notifications@github.com> wrote:
> 
> In library/Zend/Crypt/FileCipher.php:
> 
> > +            ));
> > +        }
> > +        static::$symmetricPlugins = $plugins;
> > +    }
> > +
> > +    /**
> > +     * Set the symmetric cipher
> > +     *
> > +     * @param  SymmetricInterface $cipher
> > +     * @return BlockCipher
> > +     */
> > +    public function setCipher(SymmetricInterface $cipher)
> > +    {
> > +        $this->cipher = $cipher;
> > +
> > +        return $this;
> @texdc I know this post but I don't agree with the general conclusions. In my opinion fluent interfaces are perfectly fine with Zend\Crypt.
> 
> —
> Reply to this email directly or view it on GitHub.