add uppercase, lowercase, and trim for strings

closes #220
-added uppercase validator for strings with an option to force string to uppercase
-added lowercase validator for strings with an option to force string to lowercase
-added trim validator for strings with an option to remove leading and trailing whitespace
-updated readme documentation
Merge pull request #321 from jaswilli/feature/220-string-validators

add uppercase, lowercase, and trim for strings
Cleanup for #321
Failing test
Fix any.when() valid/invalid concat(). Closes #332, Closes #336
Merge pull request #334 from asafdav/bug_hunt_empty_when

Bug hunt: Joi.any().when is not evaluated it its value is empty even if the when condition is fulfilled.