Cleaned up WriteOff.pm; made timelording easier

Before, all business logic came from the value given by WriteOff::ResultSet.pm. When testing stuff, I'd hardcode a time in so that I could see what the behaviour is for a given time. The drawback is that sometimes this change would end up committed---ack!

Now, the arbiter of the current time is WriteOff::DateTime->now, which gets its time from $ENV{WRITEOFF_DATETIME}, which the application will set on setup to whatever config->{now} is. If that isn't set, we simply use DateTime->now (as is reasonable for production, should we want time to mean anything).
Made username autocomplete use format GET param