Added more tests, rewritten bad tests. All tests passes. Add mock mailer to test that mails is getting sent and they are correct.
add git ignore