caesar shift can take strings as input
Refactored caesar shift to use str.isupper and islower
Caesar shift handles puncuation. Fixes #4