Ensure a non-word character is after the name

This fixes if the macro name is at the beggingin of the import name
Fixes if a macro name is exactly the import name
Added tests to check for cases like #521
Updated macroExpectation because I added macros
Fixed linting
Do the whitespace replace on the whole output, not each token
Changed some tests based on what I think it should actually be

I don't think a macro in a spaceless tag should be affected, but when a
macro is used the output of it should be affected
Merge pull request #534 from janka102/fix-#526

Fixed spaceless tag stripping too much (#526)
Merge pull request #533 from janka102/fix-#521

Fixed colliding macro names and import names (#521)