Functionality for finding current task

Functionality for finding the current task and additions to make the
write task functions work properly. (Not over-writing the current task
and such).

Stubbed out some high level pieces of the read task function. The read
function will probably be a trickier one because it has to calculate the
start time, end time and any pause time. Pseudo code wise this is
something like:

Start time is the base. Store it.
Look for the next sequence, if its pause then keep track of that until
finding the next start. When that's found, take the difference and store
it as the pause time.
Keep doing that until a finished time is hit, then Take the end time -
start time - pause time to determine the total time spent on the task.

Of course history like functionality would take into account all the
inbetween pauses and such.