Implemented support for #else directive
Implemented error handling for a misplaced #else directive
Added more tests for the #define macro, one is failing which tests
nested macros. To be implemented in the future revisions.
Implemented support for nested macros for some macros.

Not all the combinations are supported, for example, using
arithmetical operators in nested macros like mult(add(1, 2) + add(3,
4),3).

In nested macros arguments can be either alpha-numerical or other
allowed nested macros. This is the limitation of the current
implementation.