Update BlockCipher.php

empty($data) returns false when data is 0 (as integer), 0.0 (as float) & '0' (as string). These values should be allowed to get encrypted
Fix uses of trim as callback

trim function cannot be used as callback argument of array_walk since the second argument of the callback (array index) conflicts with the second argument of trim (characters to trim) dealing in unexpected behaviors.
Fix Too many arguments in constructors

HHVM warns when calls a constructor with more arguments than needed.
fix docblock
[tests] Skip tests when required extension is not loaded
Fix real reason of the bug

Previous explanation is wrong, the source of the bug was https://bugs.php.net/bug.php?id=52971
[debug] Set correct SAPI on test
[crypt] Sets a non empty password in tests

For compatibility with HHVM
test for using logger default errorhandler with streamwriter
[#5383] Remove error handling calls

- The error handling calls pop the scope when already inside an error handler --
  such as when you use the Logger as an error handler. The only call inside the
  block that could be a potential problem is the one to format a DateTime object
  -- and then, only if the format is invalid (in which case you have bigger
  problems).
[#5383] Remove unused use statement
[#5383] Use error suppression *gulp*

- The only viable solution that (a) prevents recursion during serialization, and
  (b) allows the Logger to work as an error handler after a message has been
  formatted, is to use the error suppression operator. See the comment in the
  normalize method for details.
Merge branch 'hotfix/5613'

Close #5613
Merge pull request #5717 from Maks3w/hotfix/various-fixes

Hotfix/various fixes
Merge branch 'hotfix/5717' into develop

Close #5717
Merge pull request #5383
Merge pull request #5383 in develop
Merge pull request #5383 in master
Changed validation per @Maks3w suggestion
Merge pull request #5680