Improve errors, refactor timelog, fix revid

* added information to error handling and improved handling for LoginErrors
* pulled out reading/writing the timelog to its own method
* revid now returns a tuple with (non-flow revid, flow post revid)