Fixing negative times

This address #105. There were two separate issues: one easy and one a little deeper. 

1. In plotting, I assumed the min time was 0, this has been fixed.
2. I changed some logic in the core `survival_times_to_table` function that makes it more robust. 

I've added tests for both fixes. @spacecowboy for review please :)
> But then again, the death_times are specified by the user. Why are they calculated?

In the case where there is a birth time, ex individual *x* was born at time *t*, then the death time != duration. Instead, death time = birth time + duration. (I call this the `offset`).