Fixed #504

Created a default/ fall back password algorithm.
fixed a minor bug introduced in the last commit.
Add "mail" as default email sending method in scheduled email
Change mysql NOW() to php date

In case of DB and PHP on the different timezone, e.g. different setting
or different server, using NOW() will cause problem.
fixed email schedule's getEmailsToSend function
fixed broken tests

The tests were broken because the due dates set in the sample data
has past which causes the events to be overdue, which was not what
we expected in tests. The sample data now sets the due dates to the
next year. Some of the tests have also been modifed to accomodate
for the more "flexible" due dates.
Fix uninitialized object exceptions
Bump version to 3.0.7