Merge pull request #4539 from spiffyjr/patch-2

Update StrategyInterface.php
Merge branch 'hotfix/4539'

Close #4539
Merge branch 'hotfix/4539' into develop

Forward port #4539
Use the keys of the collectionData to filter against since they don't have to be consecutive
Merge branch 'hotfix/4516'

Close #4516
Merge branch 'hotfix/4516' into develop

Forward port #4516
Merge pull request #4535 from spiffyjr/patch-1

Update RoleInterface.php
Merge branch 'hotfix/4535'

Close #4535
Merge branch 'hotfix/4535' into develop

Forward port #4535
Merge pull request #4496 from Ocramius/hotfix/class-methods-hydrator-optional-parameters

Class methods hydrator skips getters with optional parameters
Merge branch 'hotfix/4496'

Close #4496
Merge branch 'hotfix/4496' into develop

Forward port #4496
Merge pull request #4505 from superdweebie/resolve-3823

Give modules the ability to modify application config after their own co...
Merge branch 'feature/4505' into develop

Close #4505
Adds ability to specify a template for exceptions retrieved from Exception::getPrevious
Update Client.php

soapVersion is not reachable, thanks to strtolower($key) :)
View: correctly validate input in PartialLoop

Change the condition to be more safe and intuitive.

Closes #4545
PartialLoop: rewrite input check even better
PartialLoop: simplify check, remove comment
Fix crypt() return value check to match PHP documentation

PHP documentation states:

"Returns the hashed string or a string that is shorter than 13 characters and is
guaranteed to differ from the salt on failure." [1]

Therefore, the check should be looking for a string length "less than 13"
characters rather than "less than or equal to 13" characters.

[1] http://php.net/function.crypt.php