refs #1234: Added readable_list() method to Text class.

This method takes an array of strings and converts them into a human readable list. For example: array('eggs', 'milk', 'cheese') => "eggs, milk and cheese".
refs #4626: Added readable_list() method to Text class.
Moved the conjunction property into a parameter of readable_list().
Merge.
- Fixed brace position to comply with style guide.
- Improved exception message.
- Added parameter for the use of serial commas.
- Made serial comma parameter default to TRUE.
- Optimisation to remove unrequired loop.
- "Validation" exceptions changed to: InvalidArgumentException.
Added support for objects that implement __toString().
Re-factored string building.
Formatting and comment improvements.
Merge pull request #328 from marklocker/3.4/feature/4626-readable-list-method

refs #4626: Added readable_list() method to Text class.