Copying 'isExpanded' flag to Symbol objects
Add informing about each macro use

Lexer listener has been extended with a method that is called when a macro
use in the source code is detected. Information about that use of a macro is
saved and passed in an object of a new token class, MacroToken. This object
will usually carry location of the macro definition.
Change code for setting symbols positions

Positions of symbols that come from a macro expansion are now set to
the position of the token with the macro identifier that is expanded.
Add tests related to handling of macros in lexer
Don't create tokens from expanded symbols

pl.edu.mimuw.nesc.token.TokenFactory.of transforms only tokens that haven't
come from a macro expansion.