Replaced the directory label with an interactive one.

Includes some refactoring of the existing code:
- Used camelCase naming for fields, ProperCase naming for properties.
- Properly documented all members.
- Moved extension methods to a new project FileRenamerN.Common, so they
can be used by all projects.