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 :)
Would this be a valid change?:

    if np.any(durations < 0):
        raise ValueError("Durations must be positive")

I'm not entirely sure why you need the `offset` variable though. It seems to me that the following is *always true*:

    death_times = birth_times + durations

regardless of the sign of birth_times.