fix #330, be more paranoid about ChronicDuration results

The only way #330 could be happening is with old versions of ```chronic_duration```, as in https://github.com/hpoydar/chronic_duration/issues/3. For peace of mind, I'm supplying ```:keep_zero``` everywhere, and checking for nil as the return code (and supplying the appropriately formatted value) just in case.