Stricter match for macros as module/function names

This avoids matching expressions that have colons but are not function
calls, for example when matching or building binaries. The main change
is that the regular expression only matches if there is a left
parenthesis following the function name, with zero or more whitespace
characters in between. The '[A-z0-9_]' pattern has been replaced by
'\\w' only because the expression became a bit long otherwise.
Fix error causing '?MACRO:?MACRO' to not match
Add valid binary matching tests
Merge pull request #177 from dvaergiller/fix_module_macro_check

Stricter match for macros as module/function names