Add rename functionality.

Add subcommand to rename files. Originally search and replace pattern was going
to be a single argument (a la vim) but that's been changed so change Engine
class to reflect that.
Guard against lack of groups in rename.

If no groups are present in regex then each rename will cause renamed file to
overwrite the previous one.