[Reviewer: Mike] Re-evaluate iFCs

Hi Mike - please can you review. 

Note that this branch requires ref-counting as well, so please merge pull request #30 first.

As per commit log (which has full details), this fix means we re-evaluate iFCs on each message, rather than only once at the beginning. Happily, this also results in progress towards getting the internal AS (MMTEL) to behave nicely in the middle of a chain. Test coverage is also improved as necessary.

Thanks.

--KW 8-)