More validations in Method `MacroStep#initialize`.

* `CHANGELOG.md` replaces `HISTORY.md` file. Partial reformatting of
historical entries to [Changelogs
Convention](tech-angels.github.com/vandamme/#changelogs-convention)
* Method `MacroStep#initialize`: added the detection of two
inconsistencies in macro arguments.
* New exception class `UselessPhraseArgument`. Raised when the name of
an argument from the phrase never appears in a sub-step.
* New exception class `UnreachableSubstepArgument`. Raised when the name
of an argument from a subset never appears in the phrase and the
macro-step doesn't allow table.
* New exception class `DataTableNotFound`. Raised when a step expecting
a data table arguments gets anything else.
* File `macro-step_spec.rb`: Added examples covering the new validation
rules in `MacroStep#initialize` method.
* `UnknownArgumentError#initialize` Typo in error message.