fix #441
added erlang forms lexer and tests for it
added macro substituting lexer implementation stub
added an '-else' attribute with no dot case to forms lexer
initial macro body parsing as set of tokens
initial macro substitution implementation
extract lexer test base class
add macro substituting lexer tests
pass whitespace tokens as macro call arguments
handling of whitespace-only macro call arguments
handle braces and commas in macro call arguments
skip macro call tokens in parser
initial macro call as a single psi element
do not skip unresolved macro calls
delete ErlangMacrosCall
add macro substituting lexer tests to main test case
add arity-aware macro name resolution
add macro substitution awareness to unused function inspection

add macro substitution awareness to remove function quickfix and
export function quickfix
fix folding of functions from macro substitutions
update parser test data

only tests which contained no errors were updated to reflect changes
in psi structure and macro substitution