fix include guards
add circular and reverse circular utf8 streams