add tzoffset cache #3
update docs
rename self to this in compiled sub. add more tests