Chaos port

This resolves some of the issues mentioned in https://github.com/airbnb/chronos/pull/129

Once this is merged, we can merge the other one too.