added a CamelToSnake and RemoveDuplicateText commands
Created 3 base classes to remove some boilerplate, refactored SnakeToCamel and CamelToSnake as a test of their functionality.  New plugins should subclass bases.PerRegionTextCommand, bases.PerLineTextCommand, or bases.PerWordTextCommand. Also changed name of remove_duplicate_text to remove_duplicate_lines, per better description of functionality.