update changelog
update documentation
update byte mask to use separate input & output types references #264

In particular this allows const iterators to be use for the input types.