Reworked the macro definition syntax. Code refactoring.

-MacroStepSupport code refactored (most went to MacroCollection class).
-MacroCollection class added. Serves to collect each macro encountered
in the feature files.
-Custom exception classes added.