<issue_start><issue_comment>Title: fix shifting bug
username_0: ### Summary of changes

Fix for #174.  The test added should fail without this change.  The issue is `div(-3, 12)` (or any negative number greater than -12), will return 0 for the year shift, when it should go back a year.

### Checklist

- [ x] New functions have typespecs, changed functions were updated
- [ x] Same for documentation, including moduledocs
- [ x] Tests were added or updated to cover changes
- [ x] Commits were squashed into a single coherent commit
<issue_comment>username_1: One small fix and I'll get this merged. Thanks for the PR!
<issue_comment>username_0: updated!
<issue_comment>username_1: Perfect, thanks!