Refactored re-run to only allows transactions that can be rerun

This PR relates to issue: https://github.com/jembi/openhim-core-js/issues/264
Where does this `.rerun` property come from? It reading this off a channel object right? I'm not quite understanding what this is doing. Should it be `.canRerun` instead?