Revert the revert and fix null pointer issue
This change is all of the changes made in #46 with an additional set of null checks for safety. There was a production issue where all commits were failing due to null email addresses. This occurred as all commits are checked for bots, even if they are so far legit.