move header for test under test folder. no need to be with main code
add test cases for anonymous call, error cases on calling something 'undef' both as anonymous call and MFA. On both sync call and async call (should just return)
move test code that be reusable for multiple test suites out
a potential fix to make it crash fast, report the reason and not manifest as timeout
remove settings not used in rebar.config and add settings to support multiple test suites.