Implement upper_case and lower_case command and add the tests.

- Implements upper_case and lower_case command. 
- Implement tests for both of them.
- Add common function for testing case commands so the tests are only data driven.

This fixes:
#186
#187

Pull request #149 also becomes obsolete by this change.