When having "autocrlf=input" (as described in the Building Arduino guide), the `.hex` files used in the test will be a different size due to the test expecting `\n` and git cloning as `\r\n`. This commit fixes this issue by removing cariage returns before running the test.
If a core has a post/pre install/uninstall script, it will be execute at the appropriate time IF:
1) source (package_*_index) is trusted (GPG signed)
2) or users have explicitly added line "contributions.trust.all=true" to their preferences.txt
Some minor refactor and clean up while I was at it