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.
Merge pull request #741 from ExchangeCore/strings-validation-test

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