datetime: fix predicates
timezone: normalize equality API
date: cleanup code
time: cleanup code
format: move formatting and parsing logic to its own module