Unit Test: /core/utility/service/validation/strings

Modified behaviors of functions to ensure they are dealing with strings when strings are expected.

Moved the containsString function into an Arrays validation class, and added the ability for this to now handle nested arrays by default, with an option to only search the first level of an array.

Wrote up unit tests for all of the Strings functions.

Fixed up the PHPDocs so they better describe what each function does more accurately where appropriate

Also closes #740, thanks for the help guys.